web-dev-qa-db-ja.com

HTML5オーディオの再生が終了したとき(複数回)をどのように検出しますか?

タグがmp3の再生を終了したときの検出に問題があります。私がこのようなことをすると:

_     myAudio.addEventListener("ended", function() 
     {
          alert("ended");
     });
_

オーディオが初めて再生されるときにのみ発生します。オーディオをもう一度再生しても、何も起こりません。 onended=doThis();メソッドを使用しても同じことが起こります。 jQueryでそれを行う方法があると聞いたことがありますが、それを機能させることができませんでした。また、mp3が再生されるたびにオーディオdiv idを変更することで修正する方法があるかもしれないと聞きましたが、idを実行する必要があるため、これは機能しませんそのまま。

誰かアイデアはありましたか?

23
evenodd

endedイベントは、.currentTime属性に基づいて作成されます。 http://w3c.github.io/html/semantics-embedded-content.html#eventdef-media-ended

したがって、.currentTimeを再度ゼロに設定するだけで済みます。

myAudio.addEventListener("ended", function(){
     myAudio.currentTime = 0;
     console.log("ended");
});
40
Cristi Pufu