首页 > 解决方案 > 如何在画布中绘制第一个视频的帧?

问题描述

我发现了几个这样的帖子,但没有一个有效。例如,这篇文章的第一个答案是一个常见的解决方案。我根据他的小提琴做了一个小提琴问题是,如果您更改视频的位置,它会绘制当前视频帧。但我需要的是我上传视频后的第一帧。我试图在loadeddata事件触发时绘制图像。根据它的描述,正是我需要的:

当媒体当前播放位置的帧完成加载时,会触发loadeddata事件;通常是第一帧。

仍然不会绘制第一帧。然后我尝试在上面绘制图像canplaycanplaythrough应该可以正常工作的事件。但它没有。

在玩了一段时间后,我找到了一个临时解决方案,如果我们设置一个超时> 50 ms并尝试绘制一个画布,它将绘制第一帧。但这不是一个稳定的解决方案。

我的想法可能是缓冲的问题,但同时canplaythrough当用户代理可以播放媒体并估计已加载足够的数据以播放媒体直至其结束时触发,而无需停止进一步缓冲内容。它仍然没有工作。

有什么想法吗?

标签: javascripthtml5-canvashtml5-video

解决方案


推荐阅读