循环播放带有媒体片段的视频?

问题描述 投票:0回答:3

我试图在暂停时循环播放视频 URL(带有媒体片段)。我设置了一个监听器,以便在视频暂停时调用 LoopVideo() 函数:

function loopVideo() {
    var video = document.getElementById('Video1');
    var videoFile = 'file1.mp4#t=10,10'; 
        video.src = videoFile;
        video.play();       
};

document.getElementById('Video1').addEventListener('paused', loopVideo(), false);

到目前为止,视频片段播放一次,但暂停时不会循环播放。我的代码有错误还是媒体片段有问题?

javascript html html5-video
3个回答
3
投票

这是两年后的事了,但我要发布这个,因为我最近刚刚遇到这个问题。基本上我所做的是动态获取媒体片段中的值,然后在我的

timeupdate
视频事件侦听器中检查当前时间是否大于媒体片段的上限。如果它大于上限,我将当前时间设置为下限并播放视频。这是我使用的代码:

function checkMediaFragmentBounds(video, x,y) {
   if(video.currentTime > y) {
      video.currentTime = x;
      video.play();
   }
}

然后这是一个正在运行的 JSFiddle:JSFiddle,您还可以在其中看到我获取媒体片段边界的逻辑。希望这可以帮助其他人寻找这个答案,因为这就是我发现这是在寻找答案的方式。


1
投票

如果将片段(以秒为单位)传递到 url,并在片段结束(并暂停)后触发“重新加载”,则可以制作自动循环视频

onpause="this.load()"

<video autoplay onpause="this.load()">
  <source src="video.mp4#t=10,20" type="video/mp4">
</video>

0
投票
<video autoplay onpause="this.load()">
  <source src="video.mp4#t=10,20" type="video/mp4">
</video>

此代码运行完美,并且避免了任何 JS 代码。

© www.soinside.com 2019 - 2024. All rights reserved.