2010-05-27 298 views
1

有没有一种在特定时间暂停html 5视频的优雅方式?如何在特定时间暂停html 5视频

我尝试了两种方式:

  1. 使用timeupdate事件,看看currentTime属性比需要的时间更多,拨打电话暂停()。这在Firefox中表现良好,其他浏览器有时会滞后并在视频真正暂停之前渲染额外的帧。
  2. 使用TimedTracks和PauseOnExit标志设置为true的提示。不幸的是,没有浏览器实现TimedTracks ...

你有其他想法吗?

干杯, 斯特凡

回答

1

这听起来像你想要的视频播放达到某一点,然后暂停。目前的API无法做到这一点。但是,您可以执行的操作是使用timeupdate事件在所需时间之前暂停,然后将currentTime设置为所需的时间。寻找也应该在暂停时工作,所以这应该每次都在同一帧暂停你(模块浏览器的bug)。

3

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

因此,或者,您可以以更高的速率轮询currentTime和setInterval,例如,每隔50ms并在视频停止时间后暂停视频。这可能更可靠,但会在浏览器上产生更高的负载。

视频元素的回调接口仍在开发中,最终将解决此问题。

0

您可以结合西尔维亚建议的两种解决方案。如果您使用timeupdate事件来查找您在所需时间的1秒钟内,那么您可以在该点使用setInterval解决方案。这将实现SetInterval解决方案的更高精度,但您只需在浏览器上承受更高的负载。