使用JavaScript控制html5视频播放器循环

时间:2010-08-11 04:13:16

标签: javascript html5 html5-video

我希望在不支持使用JavaScript的循环标记(ff)的浏览器中启用html5视频的循环。有谁知道访问视频播放结束并将播放恢复为零的可行性?

3 个答案:

答案 0 :(得分:17)

您可以检测是否支持loop属性,并将其设置为true

对于不支持它的浏览器,您只需绑定ended媒体事件,然后重新开始:

var myVideo = document.getElementById('videoId');
if (typeof myVideo.loop == 'boolean') { // loop supported
  myVideo.loop = true;
} else { // loop property not supported
  myVideo.addEventListener('ended', function () {
    this.currentTime = 0;
    this.play();
  }, false);
}
//...
myVideo.play();

答案 1 :(得分:1)

您可以通过loop="false"打开或关闭视频,以停止自动视频重复播放。

<iframe style="position: absolute; top: 0; left: 0;"
src="http://video/name.mp4" width="100%" height="100%" frameborder="0"  webkitallowfullscreen loop="true" controls="false" mozallowfullscreen allowfullscreen></iframe>

loop="true"将启用视频播放器循环。

答案 2 :(得分:0)

<div>Iteration: <span id="iteration"></span></div>

<video id="video-background" autoplay="" muted="" controls>
        <source src="https://res.sdfdsf.mp4" type="video/mp4">
</video>

var iterations = 1;

    document.getElementById('iteration').innerText = iterations;

        var myVideo = document.getElementById('video-background');
    myVideo.addEventListener('ended', function () {    
                alert('end');
        if (iterations < 2) {
            this.currentTime = 0;
            this.play();
            iterations ++;          
            document.getElementById('iteration').innerText = iterations;
        }   

    }, false);


   // Please note that loop attribute should not be there in video element in order for the 'ended' event to work in ie and firefox