2012-06-19 13 views
18

タグがmp3の再生を終了したときに問題が検出されました。私が次のようなことをしたとき:HTML5オーディオの再生が終了したときは、どのように検出しますか?

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

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

誰もがアイデアを得ましたか?

+0

http://jsfiddle.net/MvzFN/2/(クロームに聞く/参照):このフィドルonenededイベントでは、常に – fcalderan

+0

HTMLではなくJavaScriptでオーディオタグを作成してみてくださいトリガされるようです。まだあなたのために働くのですか? – evenodd

+1

はいそれはまだ動作します:http://jsfiddle.net/MvzFN/3/ – fcalderan

答えて

30

endedイベントは、.currentTime属性に基づいて作成されます。 http://dev.w3.org/html5/spec/Overview.html#event-media-ended

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

myAudio.addEventListener("ended", function(){ 
    myAudio.currentTime = 0; 
    console.log("ended"); 
}); 
+1

それはしましたそれ!しかし、それ以前にもそれを一時停止する必要がありました。そうしないと、無限ループ – evenodd

関連する問題