javascript - 如何在画布中绘制第一个视频的帧?
问题描述
我发现了几个这样的帖子,但没有一个有效。例如,这篇文章的第一个答案是一个常见的解决方案。我根据他的小提琴做了一个小提琴。问题是,如果您更改视频的位置,它会绘制当前视频帧。但我需要的是我上传视频后的第一帧。我试图在loadeddata
事件触发时绘制图像。根据它的描述,正是我需要的:
当媒体当前播放位置的帧完成加载时,会触发loadeddata事件;通常是第一帧。
仍然不会绘制第一帧。然后我尝试在上面绘制图像canplay
和canplaythrough
应该可以正常工作的事件。但它没有。
在玩了一段时间后,我找到了一个临时解决方案,如果我们设置一个超时> 50 ms
并尝试绘制一个画布,它将绘制第一帧。但这不是一个稳定的解决方案。
我的想法可能是缓冲的问题,但同时canplaythrough
当用户代理可以播放媒体并估计已加载足够的数据以播放媒体直至其结束时触发,而无需停止进一步缓冲内容。它仍然没有工作。
有什么想法吗?
解决方案
推荐阅读
- r - 我正在尝试使用“更新”功能运行模型,但是当我在没有更新功能的情况下运行整个模型时会得到不同的结果
- tomcat - 独立tomcat中的Springboot微服务
- sql - SQL 查询 CTE 或 while 以拆分具有正确数量的行
- c++ - 如何使用 std::vector 使用参数化构造函数动态实例化一个类?
- c# - 具有会话时间跨度的单例类(对于每个浏览客户端).NET CORE
- postgresql - 带有 postgres 驱动程序的 JPA 流
- python - 在 python 中使用多线程时 GPU 内存使用量不会增加
- c# - 用C#在azure函数的body中读取一个4MB的json文件,在body读取部分进程挂起
- laravel - 如何使belongsToMany关系尊重枢轴模型中定义的全局范围
- javascript - textarea下的空白默认是什么?