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