如何在特定时间暂停 html 5 视频
Posted
技术标签:
【中文标题】如何在特定时间暂停 html 5 视频【英文标题】:How to pause an html 5 video at a specific time 【发布时间】:2011-02-24 20:29:43 【问题描述】:有没有一种优雅的方法可以在特定时间暂停 html 5 视频?
我尝试了两种方法:
-
使用 timeupdate 事件并查看 currentTime 属性是否大于所需时间并调用 pause()。这在 Firefox 中表现良好,其他浏览器有时会滞后并在视频真正暂停之前渲染额外的帧。
使用 TimedTracks 和一个将 PauseOnExit 标志设置为 true 的提示。不幸的是,没有浏览器实现 TimedTracks...
你还有其他想法吗?
干杯, 斯蒂芬
【问题讨论】:
【参考方案1】:您可以使用 timeupdate 事件来检查 currentTime,一旦它超过了您的停止时间,就暂停它。 timeupdate 事件的分辨率可能高达 250 毫秒,这不是很好。
因此,或者,您可以使用 setInterval 以更高的速率轮询 currentTime,例如每 50 毫秒,并在视频超过您的停止时间时暂停视频。这可能更可靠,但会给您的浏览器带来更高的负载。
视频元素的回调接口还在开发中,最终会解决这个问题。
【讨论】:
【参考方案2】:听起来您希望视频播放到某个点然后暂停。这对于当前的 API 是不可能的。但是,您可以做的是使用 timeupdate 事件在所需时间之前暂停,然后将 currentTime 设置为所需时间。暂停时搜索也应该起作用,所以这应该每次都在同一帧暂停(模块浏览器错误)。
【讨论】:
【参考方案3】:您可以结合 Silvia 建议的两种解决方案。如果您使用 timeupdate 事件来查找您在所需时间的 1 秒内的时间,那么您可以在此时使用 setInterval 解决方案。这将提高 SetInterval 解决方案的精度,但您的浏览器只会有更高的负载一秒钟。
【讨论】:
以上是关于如何在特定时间暂停 html 5 视频的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JavaScript 暂停 HTML5 视频? [复制]