0

我正在尝试使用 jQuery 循环一段 HTML 视频,特别是当视频达到 7 秒时,我希望它循环回 0。我无法将实际视频剪切到 7 秒并使用“循环”视频标签中的功能,因为 firefox 和 mobile 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>

4

2 回答 2

0
<script type="text/javascript">
    $("#myVideo").bind("timeupdate", function(){
        if(this.currentTime > 7)
            this.currentTime = 0;
    })
</script>
于 2011-09-15T03:14:31.187 回答
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> 
于 2014-09-08T11:13:58.280 回答