通过Spotify iOS SDK获取pcm音频以实现可视化

Dre*_*ara 4 audio spotify ios

我们目前正在考虑将我们已经存在多年的音乐可视化软件带到通过新的iOS Spotify SDK播放音乐的iOS应用程序 - 查看http://soundspectrum.com以查看我们的视觉效果,例如G-Force和永旺.

无论如何,我们将Spotify iOS SDK中的演示项目全部启动并运行,并且事情看起来不错,但向前迈出的主要一步是访问音频pcm,以便我们可以将其发送到我们的可视引擎等.

Spotify开发人员或知情人士是否可以建议获得pcm音频的可能性?音频pcm块可以像几千个最新样本的循环缓冲区一样简单(我们将用于FFT等).

提前致谢!

iKe*_*dac 8

子类SPTCoreAudioController并执行以下两项操作之一:

  1. 覆盖connectOutputBus:ofNode:toInputBus:ofNode:inGraph:error:并用于AudioUnitAddRenderNotify()destinationNode音频单元添加渲染回调.回调将在渲染输出节点时被调用,并且可以在您离开扬声器时访问音频.完成后,请确保调用superSpotify iOS SDK音频管道的实现以使其正常工作.

  2. 覆盖attemptToDeliverAudioFrames:ofCount:streamDescription:.这使您可以访问库生成的PCM数据.但是,在默认管道中有一些缓冲,所以此回调中给出的数据可能比发送到扬声器的数据晚了半秒,所以我建议使用建议1.super在此处调用以继续使用默认管道.

一旦你有自定义音频控制器,SPTAudioStreamingController用它初始化你应该很好.

我实际上使用建议1在我的Mac OS X Spotify客户端中使用CocoaLibSpotify构建iTunes的可视化API.它没有100%顺利工作(我认为我在使用runloops和其他东西做错了),但它很好地驱动了G-Force和Whitecap.你可以在这里找到项目,可视化器的东西在VivaCoreAudioController.m中.CocoaLibSpotify中的音频控制器类和该项目基本上与新iOS SDK中的相同.