オンライン ストリームから音楽を再生するアプリを PhoneGap で作成しました。iPhone がロックされている間もバックグラウンドで再生を続けますが、着信があると停止します。
問題は、通話が終了すると、音楽が聞こえなくなることです。HTML5audio
要素を使用してストリームを再生すると、アプリのトレースで、通話が終了した後に HTML5 オーディオ要素イベントがトリガーされるplay
ことがわかります。playing
ただし、音楽やサウンドはまったく生成されません。
オンライン ストリームから音楽を再生するアプリを PhoneGap で作成しました。iPhone がロックされている間もバックグラウンドで再生を続けますが、着信があると停止します。
問題は、通話が終了すると、音楽が聞こえなくなることです。HTML5audio
要素を使用してストリームを再生すると、アプリのトレースで、通話が終了した後に HTML5 オーディオ要素イベントがトリガーされるplay
ことがわかります。playing
ただし、音楽やサウンドはまったく生成されません。
Android プログラマーとして、同様の問題があります。HTML5 を実行する CordovaWeb ビューを処理する場合、アクティビティが電話などで中断された場合は、コードで処理する必要があります。Android では、割り込みがあると onPause などが呼び出されます。その中に、状態と、webview のページの URL を保存する必要があります。
戻るときは、状態を復元する必要があります。
これはiOSですが、Androidで話していることは知っていますが、そのようなことをするときは重複があります.
アプリで Cordova の一時停止および再開イベントに接続します。一時停止状態の場合、アプリは中断され、何も再生されません。再開イベントで再生機能を呼び出す必要があります。詳細については、イベントを参照してください: http://cordova.apache.org/docs/en/2.6.0/cordova_events_events.md.html#Events
これは、アプリでオーディオ デバイスが有効になる前に play コマンドが実行されたときに発生します。
通話が着信したときにアプリがシャットダウンするためです。アプリに戻ってオーディオを再生するには、数秒かかります。つまり、通話が終了した後、オーディオ デバイスを起動するのに数秒かかります。再生命令がオーディオ デバイスの前に実行された場合あなたのアプリケーションのために開始されます
これは、コルドバの再開イベントで解決できます