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];

n viewDidLoad. これを行うと、プレーヤーは NO を返さなくなります!!

于 2012-02-13T08:15:36.227 に答える
2

それ以来、バックグラウンドからオーディオキューを再利用することは問題なく機能することを学びました。新しく始めることはできません。

于 2010-06-30T01:47:40.267 に答える