如何在特定时间暂停 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 视频的主要内容,如果未能解决你的问题,请参考以下文章

提交表单数据后如何返回在html中暂停的视频?

如何在html中自动暂停视频?

如何在事件中暂停 HTML5 视频?

如何使用 JavaScript 暂停 HTML5 视频? [复制]

除输入焦点外,如何实现“按空格暂停html5视频”? (jQuery)

html5的video标签播放视频的时候如何设置停止播放