2017-03-27 8 views
1

私はhtml 5プレーヤーを持っています。ビデオが終了すると検出しようとしています.JQUERYとjavascriptでこれを検出しようとしました。イベントリスナーはビデオの終わりを検出しません

<video id="myVideo"></video> 

$("#myVideo").bind("ended", function() { 
    alert('Video ended!'); 
}); 

var vid = document.getElementById("myVideo"); 
vid.src = "Content/Test.mp4"; 
vid.play(); 

vid.addEventListener('ended', videoFinish, false); 

function videoFinish() { 
    alert('Video ended!'); 
} 
+0

私はあなたが多分ビデオ...だけではなく、videoタグを持っている必要があるだろうと思いますか?メディアがないビデオタグはどのように「終わり」ですか?また、あなたのjavascriptは '

1

私はあなたがいなかったとして、あなたがプログラムでSRCを追加したり、ビデオを再生する(だけで推測しているためである疑いがあるこの

$('#myVideo').on('ended',function(){ 
      alert('Video ended!'); 
} 

それとも

<video src="video/endscene.mp4" id="myVideo" controls onended="videoEnded()"> 
+1

これは既に存在するものと比較して違いをもたらすべきではない –

+1

私は長い時間前に2番目のものを使用したことを覚えており、それはうまくいきました。私はこれが「質問者」と同じことをやっている別の方法であることに同意しますが、それは私にとってはうまくいきました。さらに、私はビデオコントロールをhtmlに入れる適切な方法を与えました。私は問題がここにあると思う。 –

+0

興味深いかもしれませんが、おそらくそれは私が推測している問題が解決している –

1

をお試しください私の質問に答える)。ビデオがロードされた後にイベントを追加してみてください:

function onVideoLoaded(e) { 
    console.log('onVideoLoaded', e.target === vid); 
    vid.addEventListener('ended', onVideoEnded); 
} 

function onVideoEnded() { 
    console.log('onVideoEnded'); 
} 

vid.addEventListener('loadstart', onVideoLoaded); 
関連する問題