如何在实际时间暂停/停止视频(如3.00秒)

时间:2016-03-09 11:15:15

标签: javascript html5 timer html5-video pause

我想知道是否有可能暂停视频 实际时间

我测试过,视频总是暂停在x.xxx而不是x.00

video.load();
video.play();

video.ontimeupdate = function(){
   if(this.currentTime >= 3) {
      video.pause();
   }
};

演示: https://jsfiddle.net/l2aelba/4gh7a058/

任何技巧?

PS:应尽可能提高性能

1 个答案:

答案 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()清理你的间隔)