我有一個使用<video loop="true">
的循環HTML5視頻,我想知道視頻何時循環。事件監聽器play
僅在視頻最初啓動時觸發,並且ended
不會觸發。當HTML5 <video>循環重新啓動時,用Javascript檢測?
timeupdate
的不精確性使我很緊張,使用if (v.currentTime <= 0)
,但它似乎工作。有沒有更好的方法來檢測視頻何時重新啓動?
這是我的基本設置:
<video autoplay="true" loop="true" muted="true">
<source src="vidoe.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
<source src="video.ogv" type="video/ogg">
</video>
<div id="Video-Time"></div>
<script>
var v = document.getElementsByTagName('video')[0]
var t = document.getElementById('Video-Time');
v.addEventListener('timeupdate',function(event){
t.innerHTML = v.currentTime;
if (v.currentTime <= 0) { console.log("Beginning!"); } // It does trigger when looping, surprisingly
},false);
v.addEventListener('play', function() {
console.log("play!"); // Only triggered when the video initially starts playing, not when the loop restarts
},false);
v.addEventListener('ended', function() {
console.log("ended!"); // Never triggered
},false);
</script>
的'seeked'事件應該火,但如果你對視頻控制視頻時,用戶seeked以及它會火。 – adeneo
減少用戶清理的影響我可能會設置一個標誌,當currentTime達到視頻的最後一秒,然後如果有一個成功的尋求currentTime 0假設循環已觸發 – Offbeatmammal