1

有没有一种优雅的方法可以在特定时间暂停 html 5 视频?

我尝试了两种方法:

  1. 使用 timeupdate 事件并查看 currentTime 属性是否大于所需时间并调用 pause()。这在 Firefox 中表现良好,其他浏览器有时会滞后并在视频真正暂停之前渲染额外的帧。
  2. 使用 TimedTracks 和一个将 PauseOnExit 标志设置为 true 的提示。不幸的是,没有浏览器实现 TimedTracks ......

你有其他想法吗?

干杯,斯特凡

4

3 回答 3

3

您可以使用 timeupdate 事件来检查 currentTime,一旦它超过了您的停止时间,就暂停它。timeupdate 事件的分辨率可能高达 250 毫秒,这不是很好。

因此,或者,您可以使用 setInterval 以更高的速率轮询 currentTime,例如每 50 毫秒,并在视频超过您的停止时间时暂停视频。这可能更可靠,但会给您的浏览器带来更高的负载。

视频元素的回调接口还在开发中,最终会解决这个问题。

于 2010-05-28T12:26:29.560 回答
1

听起来您希望视频播放到某个点然后暂停。这对于当前的 API 是不可能的。但是,您可以做的是使用 timeupdate 事件在所需时间之前暂停,然后将 currentTime 设置为所需时间。搜索在暂停时也应该起作用,所以这应该每次都在同一帧暂停你(模块浏览器错误)。

于 2010-05-28T07:50:20.173 回答
1

您可以结合 Silvia 建议的两种解决方案。如果您使用 timeupdate 事件来查找您在所需时间的 1 秒内的时间,那么您可以在此时使用 setInterval 解决方案。这将提高 SetInterval 解决方案的精度,但您的浏览器只会有更高的负载一秒钟。

于 2011-03-26T00:48:11.940 回答