我希望将视频放在HTML5页面中,该页面将在页面加载时开始播放,一旦完成,就会循环回到开头而不会中断 . 该视频还应该 NOT 具有与之关联的任何控件,并且可以与所有'modern'浏览器兼容,或者可以选择polyfill .
以前我会通过 Flash 和 FLVPlayback 这样做,但我宁愿在HTML5领域避开 Flash . 我创建了一个平滑的循环,但是我应该用什么来嵌入视频呢?那里有什么东西可以按照 FLVPlayback 的方式传输视频吗?
Flash
FLVPlayback
loop 属性应该这样做:
<video width="320" height="240" autoplay loop> <source src="movie.mp4" type="video/mp4" /> <source src="movie.ogg" type="video/ogg" /> Your browser does not support the video tag. </video>
如果你对loop属性有问题(就像我们过去一样),请听一下 videoEnd 事件并在它触发时调用 play() 方法 .
videoEnd
play()
注1:我'm not sure about the behavior on Apple'的iPad / iPhone,因为它们对 autoplay 有一些限制 .
autoplay
注2:不推荐使用 loop="true" 和 autoplay="autoplay"
loop="true"
autoplay="autoplay"
截至2018年4月,Chrome(以及其他几个主流浏览器)现在也是require muted 属性 .
muted
因此,你应该使用
<video width="320" height="240" autoplay loop muted> <source src="movie.mp4" type="video/mp4" /> </video>
您可以通过以下两种方式执行此操作:
1)在视频元素中使用 loop 属性(在第一个答案中提到):
loop
2)您可以使用 ended 媒体事件:
ended
window.addEventListener('load', function(){ var newVideo = document.getElementById('videoElementId'); newVideo.addEventListener('ended', function() { this.currentTime = 0; this.play(); }, false); newVideo.play(); });
3 回答
loop 属性应该这样做:
如果你对loop属性有问题(就像我们过去一样),请听一下
videoEnd
事件并在它触发时调用play()
方法 .注1:我'm not sure about the behavior on Apple'的iPad / iPhone,因为它们对
autoplay
有一些限制 .注2:不推荐使用
loop="true"
和autoplay="autoplay"
截至2018年4月,Chrome(以及其他几个主流浏览器)现在也是require
muted
属性 .因此,你应该使用
您可以通过以下两种方式执行此操作:
1)在视频元素中使用
loop
属性(在第一个答案中提到):2)您可以使用
ended
媒体事件: