ios4 - AudioQueueStart失败-12985

标签 ios4 background-process audioqueueservices audiosession

我制作了一个流媒体音乐播放器,它在前台运行良好。 但在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/

相关文章:

具有启动服务的 Android 进程重要性不是 IMPORTANCE_SERVICE

ios - 当我需要自定义音频效果时是否需要处理音频单元,或者我可以依赖音频队列服务吗?

iOS - NSXMLParser 和 libxml2 的区别

iphone - TextField验证

iphone - iPhone 应用程序可以写出文件吗?

iphone - xcode 4.2.1 - 旋转支持问题

安卓设计 : Intentservice causing application not responding

makefile - 编写 makefile 时如何在退出时终止子进程?

ios - AudioQueueStart 返回错误代码 -50

ios - AudioFileReadPacketData 在传递有效文件时返回 -50