【发布时间】:2018-10-04 04:04:48
【问题描述】:
我知道如何使用 2D 上下文逐帧从正在播放的 HTML5 视频复制到画布。
但我想处理暂停的视频,动态更改其currentTime 并将当前视频帧复制到画布。
我的猜测是,当使用 currentTime 属性设置视频位置时,尚未调用某些过程,尽管视频本身确实会更新它显示的图像(但不会更新到画布)。
我发现可以通过设置 setTimeout 在下一步中执行画布“drawImage”来克服这个问题。
You can see here a jsfiddle that proves the point.
正如您在小提琴中看到的,您可以播放视频和画布更新,但如果您暂停视频,鼠标滚动会移动视频的currentTime。在那里,需要一个“seTimeout”来更新画布,如果我直接调用drawImage 方法,画布不会更新。
简而言之,我的问题是:
有没有更好的方法来做到这一点?是否可以在没有 setTimeout 和内部循环本身的情况下执行此操作?利弊?
非常感谢您阅读这里!
【问题讨论】:
标签: javascript scroll html5-canvas html5-video pause