2

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

现在我想从设备上的 iTunes Lib 中播放 MP3,并使用MPMusicPlayerController它。

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

有人有想法吗?MPMusicPlayerController刚刚停止了图表吗?以及如何防止这种情况?

感谢您的任何提示,安德烈亚斯

4

1 回答 1

2

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

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

  1. 使用自己的音频会话设置 AUGraph
  2. 使用 AVAssetReader 读取 MP3 的样本
  3. 在一个通道上将样本馈送到您的 AUGraph
  4. 在另一个通道上混入节拍器音频
于 2011-11-27T20:55:20.323 回答