我想知道是否有可能暂停视频 实际时间?
我测试过,视频总是暂停在x.xxx
而不是x.00
video.load();
video.play();
video.ontimeupdate = function(){
if(this.currentTime >= 3) {
video.pause();
}
};
演示: https://jsfiddle.net/l2aelba/4gh7a058/
任何技巧?
PS:应尽可能提高性能
答案 0 :(得分:1)
我相信您无法保证视频会在确切时刻停止播放。
根据媒体控制器的documentation:
每隔15到250毫秒,或每当MediaController的媒体控制器 用户代理必须更改位置更改,以最不常见的方式发生 对任务进行排队以触发名为timeupdate的简单事件 的MediaController。
timeupdate事件将在可以使用最少的场景时触发。它不会为您提供选择更新的确切开火时间的选项。
您可以执行以下操作:删除timeupdate事件,设置您自己的间隔并使用该检查时间。
setInterval(function () {
var ct = video.currentTime;
current_time_el.innerHTML = 'Current time : ' + ct;
if(ct >= 3) {
video.pause();
}
}, 40);
这种方法会迫使您对代码更加小心。 (例如,当不再需要时使用clearInterval()清理你的间隔)