当iphone应用程序在后台iOS4.0中运行时,AudioQueueStart失败

时间:2010-06-25 22:26:31

标签: iphone background ios4 audioqueueservices multitasking

当我的应用程序处于iOS4.0的后台时,我在启动AudioQueue时遇到了困难 应用程序处于活动状态时,代码可以正常工作,但在后台运行时,代码会失败并显示-12985代码。

        err = AudioQueueStart( queueObject, NULL );


        if( err )
        {
            NSLog(@"AudioQueueStart failed with %d", err);
                = NO;
AudioQueueStop(queueObject, YES);
            return;
        }

对于上面的代码,err设置为-12985

3 个答案:

答案 0 :(得分:3)

确保我的AudioSession处于活动状态修复了问题: 以前在代码中,我在开始播放新歌之前将歌曲更改设置为无效:

AudioSessionSetActive(假);

一旦我删除了这个AudioQueueStart就可以在后台运行。

答案 1 :(得分:3)

来自Apple Developer论坛:

  

一旦你知道它,解决方案实际上很简单,我真的很想知道   为什么这么多的问题,比如你在许多论坛上的传播都没有得到回答

...

您要确保您的视图成为First Controller然后调用

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

n viewDidLoad。一旦你这样做,你的播放器将不再返回NO !!

答案 2 :(得分:2)

我从那时起就知道从背景中重新使用音频会很好。你无法开始新的。