8

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

        err = AudioQueueStart( queueObject, NULL );


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

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

4

3 回答 3

3

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

AudioSessionSetActive(false);

一旦我删除了这个 AudioQueueStart 就可以从后台正常工作。

于 2010-07-03T20:47:49.180 回答
3

来自 Apple 开发者论坛:

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

...

您为此确保您的视图成为第一个控制器,然后调用

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

ñ viewDidLoad。一旦你这样做了,你的 Player 将不再返回 NO!

于 2012-02-13T08:15:36.227 回答
2

从那以后,我了解到从后台重新使用音频队列就可以了。你只是不能开始新的。

于 2010-06-30T01:47:40.267 回答