MPMusicPlayerController

MPMusicPlayerController

我的应用程序正在利用AudioUnit功能为节拍器应用程序产生短声音。
一切运行良好。

现在,我想从设备上的iTunes Lib播放MP3,并为此使用MPMusicPlayerController

直到这里没有问题,MP3才能正常播放。但是之后,我再也无法再次调用AudioUnit声音了。我进行了调试,以至于音频缓冲区的回调再也不会出现,所以我认为AUGraph已停止,但它表明它仍在运行。

有人有主意吗? MPMusicPlayerController只是停止了图表吗?以及如何预防呢?

谢谢你的提示
安德烈亚斯

最佳答案

从此doc中,“音乐播放器(MPMusicPlayerController类的实例)始终使用系统提供的音频 session 。”据我所知,您的应用程序无法访问系统提供的音频 session 。因此,MPMusicPlayerController音频和您的应用程序音频无法同时播放。

为了同时播放iPod库和节拍器中的MP3,请执行以下操作:

  • 用自己的音频 session 设置AUGraph
  • 使用AVAssetReader读取MP3样本
  • 在一个通道上将样本馈送到您的AUGraph
  • 在其他 channel 上混入节拍器音频
  • 关于iphone - AudioUnits和MPMusicPlayerController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8021751/

    10-10 07:04