これは私のシナリオです:私はビデオプレーヤーでビデオ/オーディオを再生していますので、先に設定してから突然アラームが呼び出されます。iOS 10でシステムアラームのイベントをキャプチャする方法
iOS 10
の前に、アラームのUIとオーディオがメインのUIスレッドをブロックし、アラームイベントをキャプチャできるようにするため、UIWindowDidResignKeyNotification
を観察します。
しかし、iOS 10
では、アラームUIはNotification messages
のように動作し、メインUIをブロックしないようです。
しかし、そのアラーム音がオーディオスレッドを引き継ぐので、ビデオサウンドは再生されず、アラーム音は再生されているという結果になります。私がやっていることiOS 10
で
は、アラームが動作しているときに掲示し、私はそれを得れば、私は私のビデオ再生を一時停止されるであろう、私はAVAudioSessionInterruptionNotification
を観察しています。
しかし、これは別の問題です。これは、ユーザがアラームを解除した後にもう一度手動でplay
ボタンをクリックしなければならないということです。これはあまり良くありません。
プラスAVAudioSessionInterruptionNotification
は、システムオーディオの他のタイプがトリガされたときには、そのようなiMessage
として、非常に短い音声とメッセージであるPush Notification
を掲示し、一時停止の原因となることは本当にトラブルにユーザーを取得するだろうということでしょう。
ユーザーがアラームUIを上下に逸らすイベントを聴く方法があるかどうかを知りたいと思います。
誰かがこの種の問題を解決するために他の解決策を考え出すことができたら、
UPDATE:ビデオは、ハードウェアでデコードされたときに
このalarm sound takes over the audio thread
問題のみ起こるでしょう。
ビデオ用のデフォルトのシステムデコードであれば問題ありません。
また、着信コールがメインUIをブロックするので、電話スレッドも正常に機能するオーディオスレッドを引き継ぐので、私もUIWindowDidResignKeyNotification
を観察して管理することができます。