我想知道是否可以在实际时间暂停视频?
我测试过,视频总是停在x.xxx
不x.00
video.load();
video.play();
video.ontimeupdate = function(){
if(this.currentTime >= 3) {
video.pause();
}
};
演示: https ://jsfiddle.net/l2aelba/4gh7a058/
有什么诀窍吗?
PS:应该也能有好的表现
我想知道是否可以在实际时间暂停视频?
我测试过,视频总是停在x.xxx
不x.00
video.load();
video.play();
video.ontimeupdate = function(){
if(this.currentTime >= 3) {
video.pause();
}
};
演示: https ://jsfiddle.net/l2aelba/4gh7a058/
有什么诀窍吗?
PS:应该也能有好的表现
我相信你不能保证视频会在某个确切的时间停止。
根据媒体控制器的文档:
每隔 15 到 250 毫秒,或者每当 MediaController 的媒体控制器位置发生变化时,以最不频繁发生的为准,用户代理必须排队一个任务以在 MediaController 上触发一个名为 timeupdate 的简单事件。
timeupdate 事件将在它可以使用最不常用的场景时触发。它没有让您选择为更新选择确切的触发时间。
您可以做的一个技巧如下:删除 timeupdate 事件,设置您自己的时间间隔并使用它检查时间。
setInterval(function () {
var ct = video.currentTime;
current_time_el.innerHTML = 'Current time : ' + ct;
if(ct >= 3) {
video.pause();
}
}, 40);
但是,这种方法将迫使您对代码更加小心。(例如,当不再需要时,使用 clearInterval() 清理您的间隔)