2016-10-11 11 views
1

これは私のシナリオです:私はビデオプレーヤーでビデオ/オーディオを再生していますので、先に設定してから突然アラームが呼び出されます。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を観察して管理することができます。

答えて

0

私がAppleのdocを読んでいないという私のせいで、すべてはhereです。

AVAudioSessionInterruptionNotificationのuserInfoを使用できます。

これは、開始時、終了時、および再開するのに最適な時期であっても列挙できます。

関連する問題