我正在尝试使用jQuery循环播放一段HTML视频,特别是当视频达到7秒时,我希望它循环回到0.我无法将实际视频剪切为7秒并使用视频标签中的'loop'功能,因为firefox和移动版Safari不支持它。
我需要将其循环回0的原因是因为我们通过AirPlay将循环视频流式传输到Apple TV。我可以让它在iPhone(Mobile Safari)上循环,但当它到达视频的“结束”时,AirPlay就会停止。我想通过永远不会到达终点来欺骗浏览器无限期播放。
任何想法?
<script type="text/javascript">
// Script to loop back to back to 0 when it reaches 7 seconds
</script>
...
<video id="myVideo" controls="controls" loop="loop"><source src="video.m4v" type="video/mp4" x-webkit-airplay="allow" /></video>
答案 0 :(得分:0)
<script type="text/javascript">
$("#myVideo").bind("timeupdate", function(){
if(this.currentTime > 7)
this.currentTime = 0;
})
</script>
答案 1 :(得分:0)
这是一个轻微的替代方案...... https://stackoverflow.com/a/25722747/3681899
重要提示:请注意大文件,因为它更有可能暂停。
<video id="video1" width="320" height="240" poster="movie.png" autoplay loop>
<!--<source src="movie.webm" type="video/webm">-->
<source src="http://www.w3schools.com/tags/movie.ogg" type="video/ogg">
<source src="http://www.w3schools.com/tags/movie.mp4" type="video/mp4">
<object data="http://www.w3schools.com/tags/movie.mp4" width="320" height="240">
<!--<embed width="320" height="240" src="movie.swf">-->
</object>
Optional test to be displayed if the browser doesn't support the video tag (HTML 5)
</video>
<script>
(function () {
var vidElem = document.getElementById('video1');
console.log(vidElem);
vidElem.addEventListener("timeupdate", function () {
if (vidElem.currentTime > 7) {
vidElem.currentTime = 0;
vidElem.play();
}
}, false);
})();
</script>