4

アプリがそのセッションの使用を完了した後に、iPod または他のオーディオ セッションの再生を再開する最良の方法は何ですか?

注私はすでに電話をかけようとしました...

[_session setActive:NO
          withFlags:AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation
              error:outError];

AVAudioSessionCategoryPlayAndRecord をカテゴリとして使用し、kAudioSessionMode_VoiceChat をモードとして使用する iOS VoIP アプリを構築しています。オーディオ セッション管理の処理を簡素化するために、アプリケーションの状態やその他の重要なイベントに関する通知をリッスンするシングルトンを用意しました。ただし、上記のコードでは、iPod アプリで音楽が再開されるようには見えません。

最後に、ホーム ボタンをダブルタップしたときに画面の下部に表示される音楽コントロールが、アプリケーションがオーディオを再生しているように動作することにも気付きました。ただし、すでに非アクティブに設定しています。

誰かの手がかりがあれば、ここで何が起こっているのかをもっと理解したいと思います。

4

1 に答える 1

0

オーディオ セッションが不要になったことを iOS に通知できないようです。「setActive」の呼び出しが失敗しないことを確信していますか? または、コードのどこかでセッションを再アクティブ化することもできます。

それ以外は、音楽アプリケーションは、システムが使用していないことを認識するとすぐにオーディオを再取得できるはずです. これは、 AVAudioSessionInterruptionNotification通知を使用して、サードパーティ アプリケーションによって実現できます。デバッグのために、自分自身をオブザーバーとして追加して、コールバックが呼び出されるかどうかを確認してください。したがって、セッションの非アクティブ化に成功すると、他のアプリケーションが残りを実行できるようになります。

于 2014-02-10T09:49:41.927 に答える