循环播放HTML5视频,

时间:2011-09-15 02:41:49

标签: jquery html5 html5-video airplay

我正在尝试使用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>

2 个答案:

答案 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>