ラジオ局の HTML5 オーディオ ストリームを再生する Web アプリがあります。jQuery を使用してオーディオを再生/一時停止し、再生/一時停止ボタンを次のように切り替えます。
var playerStream = document.getElementById('player-stream');
$('section.player').hammer().on('tap','button.toggle-stream', function(event){
if (playerStream.paused) {
playerStream.play();
$('button.toggle-stream').attr('data-icon','s');
}
else {
playerStream.pause();
$('button.toggle-stream').attr('data-icon','p');
}
});
これはすべてうまくいきます。ただし、iPhone や iPad などのデバイスでは、Web ページの外部からオーディオの再生を制御できます (たとえば、ホーム画面をダブルクリックして、再生/一時停止をクリックします)。オーディオが再生されていて、アプリの外部からストリームを一時停止するとします。実際の Web アプリに戻ると、「一時停止」ボタンがまだ表示されており、ストリームを再開するために 2 回タップするまで効果的に何もしません。実際に起こるべきことは、一時停止ボタンが「再生」に戻ることなので、当然のことのように思えます。
オーディオの再生/一時停止状態の変化を検出し、アプリに反映するにはどうすればよいですか?