2011-08-29 28 views
1

正如我之前發現的hereAudioSession RemoteIO與iPod配合使用的設置

如果你開始在使用遠程I/O回調播放音頻,開始AVAssetReader除非你允許的iPod混合將阻止遠程I/O回調...

UInt32 audioCategory = kAudioSessionCategory_MediaPlayback; 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,sizeof(audioCategory),&audioCategory); 

AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof (UInt32), &(UInt32) {1}); 

但是運行的AVAssetReader我發現這可以防止使用音頻遙控器呼叫作爲設置here

所以......

  • 我需要 「MixWithOthers」 ON使用一個AVAssetReader
  • 我需要 「MixWithOthers」 OFF使用音頻遙控器

有誰知道我是怎麼可以設置我的AudioSession,所以我可以使用兩個?

+0

我有同樣的問題。我正在使用AVAssetReader從iPod庫中讀取音頻單元回調處理音頻。如果我沒有將MixWithOthers設置爲TRUE,則每次從AVAssetReader讀取中斷播放。我正在考慮一種不同的方法來查看它是否有效。特別是如果我使用音頻隊列服務而不是音頻單元,我想知道它是否會起作用。你有沒有成功? – Brennan

+0

當我有MixWithOther TRUE時,我的AVAssetReaders與播放混合,但RemoteAudio控件不起作用。當我有MixWithOther錯誤我有AVAssetReader中斷播放。我與音頻隊列有相同的結果,但是請告訴我它是否適用於您。 – TurqMage

+0

當使用MixWithOthers時,似乎另一個處理來自iPod庫的音頻的應用程序也存在與遠程事件被阻止相同的問題。我認爲需要有一個新的音頻設置,使AVAssetReader與運行的音頻單元相同。看起來許多應用程序想要使用這些功能組合。 – Brennan

回答

0

此功能現在適用於iOS 5.正確的處理是將MixWithOthers關閉。 AVAssetReader將不再停止音頻播放的回調。