AudioQueueStart失败
我制作了一个流媒体音乐播放器,它在前台运行良好。 但在后台iOS4中,它不会自动播放下一首歌曲。 (遥控器工作)原因是AudioQueueStart return -12985
。
我已经检查过音频会话。 它很好。 我开始播放音乐时使用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
失败主题的答案。
有一件事要检查,首先AudioSession是活动的。 在我的情况下,我之前已经将会话设置为在开始新歌曲之前的歌曲更改之间不活动: AudioSessionSetActive(false);
一旦我删除了这个AudioQueueStart在后台工作得很好。
根据我的经验,发生-12985消息是因为当您尝试在您的应用中开始播放时,另一个应用已经有一个音频会话处于活动状态。 选项是1)指示用户关闭另一个应用程序,或2)设置混合模式(请参阅kAudioSessionProperty_OverrideCategoryMixWithOthers)。
混合模式的缺点在于,如果您依赖锁定屏幕艺术或遥控器,它们将无法使用混合模式设置。
我一周前也遇到过这样的问题。 我花了两天的时间找到解决方案,并找到了解决方案。 可能是这个链接将有所帮助(这是官方答案):http://developer.apple.com/library/ios/#qa/qa1668/_index.html
确保您从applicationDidEnterBackground任务处理程序激活会话。 现在我的应用程序可以在后台播放声音。
看到这个。
您可能需要包含以下内容:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
接近底部的是重申该线的重要性。 由于在三个主要音频音频指南(AVFoundation,AudioSession或AudioQueue)中没有提及,所以很容易被忽略。
链接地址: http://www.djcxy.com/p/79021.html上一篇: AudioQueueStart fail