我制作了一个流媒体音乐播放器,它在前台运行良好。
但在iOS4后台,不会自动播放下一首歌曲。 (远程控制有效)
原因是AudioQueueStart返回-12985
。
我已经检查了 Audio Session 。就好了。当它开始播放音乐时,我使用 AudioQueueStart
。
如何删除 AudioQueueStart
?
- (void)play
{
[self setupAudioQueueBuffers]; // calcluate the size to use for each audio queue buffer, and calculate the // number of packets to read into each buffer
OSStatus status = AudioQueueStart(self.queueObject, NULL);
}
<小时/>
我在网上阅读了有关 AudioQueueStart
失败主题的答案。
One thing to check is that the AudioSession is active first. In my case, I had previously set the session to inactive between song changes before starting a new song:
AudioSessionSetActive(false);
一旦我删除了这个 AudioQueueStart,它就可以在后台正常工作。
最佳答案
根据我的经验,出现 -12985 消息是因为当您尝试在应用中开始播放时,另一个应用已经有一个事件的 Audio Session 。选项包括 1) 指示用户关闭其他应用程序,或 2) 设置混合模式(请参阅 kAudioSessionProperty_OverrideCategoryMixWithOthers)。
混合模式的缺点是,如果您依赖锁屏艺术或 Remote ,它们将无法与混合模式设置一起使用。
关于ios4 - AudioQueueStart失败-12985,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4349173/