2011-11-05 31 views
2

我的應用程序正在利用AudioUnit功能爲節拍器應用程序產生短的聲音。 所有運行正常。AudioUnits和MPMusicPlayerController

現在我想從設備上的iTunes Lib中播放MP3,並使用MPMusicPlayerController進行設置。

沒有probs直到這裏,MP3播放罰款。但事後我再也不會再調用我的AudioUnit聲音了。我調試過,音頻緩衝區的回調再也不會出現,所以我認爲AUGraph已經停止,但它表示它仍在運行。

任何有想法的人? MPMusicPlayerController剛剛停止圖表嗎?而如何防止呢?

感謝您的任何提示, 安德烈亞斯

回答

2

從這個doc「音樂播放器(在MPMusicPlayerController類的實例)始終使用系統提供的音頻會議。」據我所知,您的應用程序無法訪問系統提供的音頻會話。因此,MPMusicPlayerController音頻和您的應用音頻不能同時播放。

爲了同時播放從iPod庫中的MP3和你的節拍器,請執行以下操作:

  1. 搭建AUGraph有自己的音頻會話
  2. 與AVAssetReader
  3. 讀MP3的樣本在一個通道上將樣品送到AUGraph
  4. 在另一個通道上混合節拍器音頻