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

How to pause/stop video in actually time (like 3.00 secs)

本文关键字:暂停 视频 时间      更新时间:2023-09-26

我想知道是否可以在实际时间内暂停视频

我测试了,视频总是暂停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 毫秒,或每当媒体控制器的媒体控制器时 位置变化,以最不经常发生者为准,用户代理必须 将任务排队以在 媒体控制器。

TimeUpdate 事件将在可以使用最不常用的方案时触发。它不提供选择更新的确切触发时间的选项。

您可以做的技巧如下:删除时间更新事件,设置您自己的间隔并使用该间隔检查时间。

setInterval(function () {
   var ct = video.currentTime;
   current_time_el.innerHTML = 'Current time : ' + ct;
   if(ct >= 3) {
      video.pause();
   }
}, 40);

不过,这种方法将迫使您对代码更加小心。(例如,当不再需要时,使用 clearInterval() 清理您的间隔)