首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >html5视频在设置currentTime后等待readystate == 4

html5视频在设置currentTime后等待readystate == 4
EN

Stack Overflow用户
提问于 2014-02-11 19:04:05
回答 3查看 12.2K关注 0票数 6

我正在尝试抓取一些未播放的视频的图像。因此,我使用HTML5。

因为我想抓取尚未播放的图像,所以我设置了

代码语言:javascript
复制
video.currentTime = y;

如果我现在调用grap函数,它将无法工作。因为video.readyState是1(而不是4)。如果我在grab函数的开头添加一个alert();,它就会起作用。

我尝试循环到readyState == 4,使用

代码语言:javascript
复制
while(true){
   if(video.readyState == 4){
       grapImage();
   }
}

但这最终导致了一个无尽的循环。

那么我怎么能等到readyState == 4

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-19 20:55:48

好的,我用事件侦听器seeked解决了这个问题。

如果您更改当前时间,它将更改为seeking,一旦更改完成,它将转到seekedloadedmetadata事件也是一种选择,但seeked是最快的。

谢谢你的帮助。

票数 7
EN

Stack Overflow用户

发布于 2014-02-18 00:08:52

查看http://www.w3.org/2010/05/video/mediaevents.html以获取要侦听的相关事件。尝试侦听'loadedmetadata‘事件,而不是在load()之后立即设置currentTime,因为这表明视频的所有持续时间/计时信息都已加载('canplay’也适用)。

代码语言:javascript
复制
video.addEventListener('loadedmetadata', function () { console.log('video duration information available'); });
票数 3
EN

Stack Overflow用户

发布于 2018-07-30 01:47:44

对媒体使用"canplay“。根据MDN web文档,媒体事件"canplay“对应的是HAVE_ENOUGH_DATA readyState,即readyState 4。

https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21700063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档