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 が混在しています)。