0
我试图创建一个与HTML5视频元素关联的repeat
函数,因此它允许播放器在给定的时间框内重复我想要的。给定时间范围内的HTML5视频重复
我会调用这个函数按以下顺序,repeat(1,3), repeat(5,7)
所以我希望玩家将重复在时间1秒 - 3秒时repeat(1,3)
被调用,那么5秒 - 7微秒时repeat(5,7)
被调用。
然而,当调用repeat(5,7)
时,播放器会不断重复时间1-3秒帧。我知道问题是video.currentTime >= 3
在repeat(5,7)
中为真,并且玩家再次到达1秒。但我不知道该怎么做。当重复(5,7)被调用时,我应该删除eventListener吗?处理这个问题的正确方法是什么?
repeat(startTime, endTime) {
var video = document.getElementsByTagName('video')[0];
video.addEventListener('timeupdate', function() {
if (elem.currentTime >= endTime) {
elem.currentTime = startTime;
elem.play();
}
}, false);
}
谢谢!在比较我和你的代码之后,我意识到我几乎到达了目的地。我的代码在'repeat'函数开始时定义了'removeEventListener',但事实证明我的问题**定义了'repeat'函数**内的'funcLoop'。 –
btw,我在小提琴https://jsfiddle.net/yr4b4ffp/中添加了你的代码,它效果很好 –