播放完整的HTML5视频,然后循环播放其中的一部分

WeN*_*igh 10 javascript video html5

我试图完全播放8.6秒的视频,然后无限循环播放视频的一小部分,以保持一个永无止境的视频的错觉.到目前为止,我已经查看了媒体片段URI和视频的结束事件.在结束事件侦听器中设置currentTime属性可以正常工作,但它会使视频"闪烁".

目前,我正在使用timeupdate事件监听器来改变视频即将结束的时间[如下所示]

elem.addEventListener('timeupdate', function () {
if (elem.currentTime >= 8.5) {
    elem.currentTime = 5;
    elem.play();
}
}, false);
Run Code Online (Sandbox Code Playgroud)

JSFiddle 在这里

这也有效,但视频在重新启动之前可以在5秒钟内暂停.是否有一种更流畅的方式播放视频,然后循环播放一段视频?

Max*_*Max 2

请尝试以下操作,在结束后立即“倒带”:

vidElem.addEventListener("ended", function () {
        vidElem.currentTime = 2.5;
        vidElem.play();
}, false);
Run Code Online (Sandbox Code Playgroud)

更新的小提琴: http: //jsfiddle.net/Lt4n7/1/

  • 仅供参考,这不适用于某些视频,因为有时浏览器无法更改“currentTime”并立即播放,因此每个循环之间都会有延迟。[使用两个视频](/sf/answers/1800592321/)(遗憾的是)更可靠。 (2认同)