次の HTML と JS があります。
<script>
function onEnded(ev) {
window.location.reload();
}
</script>
<audio id="audio-element" controls autoplay onended="onEnded();">
<source src="/stream/3" type="audio/mp3" />
</audio>
一部の MP3 ストリームでは、これは完全に機能します。再生が開始され、オーディオ トラックが終了するonEnded
と呼び出されます。他の場合は、再生が正常に開始され、オーディオ ファイルが再生されますが、最後に経過時間カウンターが極端にマイナスになり、ended
イベントが発生せず、audio_element.ended
が返されますfalse
。スクリーンショットは次のとおりです。
これは Chrome で発生しますが、期待どおりに動作する Safari や Firefox では発生しません。ended
イベントを発生させるためにChromeで何ができるか考えていますか?