javascript - 如何实时暂停/停止视频(例如 3.00 秒)

标签 javascript html 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:也应该有尽可能好的性能

最佳答案

我相信您无法保证视频会在准确的时刻停止。

根据documentation对于媒体 Controller :

Every 15 to 250ms, or whenever the MediaController’s media controller position changes, whichever happens least often, the user agent must queue a task to fire a simple event named timeupdate at the MediaController.

timeupdate 事件将在可以使用最不频繁的场景时触发。它不允许您选择更新的确切触发时间。

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

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

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

关于javascript - 如何实时暂停/停止视频(例如 3.00 秒),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35890033/

相关文章:

javascript - 匹配特殊字符,包括方括号

javascript - 如何知道元素的宽度是绝对宽度还是相对宽度?

c# - 每 24 小时创建一次文件取决于计时器

java - 如何创建一个在 x :00 x:15 x:30 and x:45 do something different at 2:00 运行的线程

javascript - 图像特定区域的可点击链接

Javascript:这个变量放置在哪个范围内?

javascript 加载其他脚本 - 调用函数 - 未定义

html - 如何使表格布局宽度等于容器宽度

javascript - 如何设置/检测页面中浏览器 native 搜索生成的突出显示框

jquery - stackoverflow如何使用jquery计算答案接受时间限制为14分钟?