1

iOS 5.x の VoIP アプリでの AudioSession (Play&Record カテゴリとして設定) の割り込みの管理に問題があります。進行中の通話中にバックグラウンドで YouTube アプリを起動すると、オーディオ セッションの中断が発生し、現在の通話を一時停止できます。

問題は、フォアグラウンドに戻って呼び出しを反応させたいときです (YouTube アプリを強制終了せずに、以前にバックグラウンドに置くだけです): 中断終了コールバックは発生せず、以前の audioSession を強制的にアクティブに設定しても、エラーが返されます。
オーディオ リソースが他のプロセス (AudioSessionGetProperty (kAudioSessionProperty_OtherAudioIsPlaying,...) を使用) で使用されている可能性があるかどうかを確認しますが、そうではありません。YouTube アプリを手動で強制終了すると、代わりに終了中断が発生し、問題はありません。

通常、アプリを手動で強制終了する人はいないため、通話の audioSession を復元するにはどうすればよいですか?? 他の例を確認しましたが、Viber は正しく動作し、何らかの方法で中断を「傍受」できます。

もう 1 つの奇妙な動作は、AudioSession で "allowMixing" カテゴリも設定すると、iOS 5.x では完全に無視され (YouTube がオーディオ リソースを制御する)、iOS 4.x では正常に動作することです (つまり、私はリッスンします)。現代では、音声通話と YouTube が混在しています)。

4

1 に答える 1

0

同様の問題がありました。割り込みコールバックでオーディオユニットを停止して(再)開始することで解決しました。

于 2012-08-31T14:54:53.430 に答える