2011-08-29 31 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将不再停止音频播放的回调。