Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查html5视频是否准备就绪_Javascript_Html_Html5 Video - Fatal编程技术网

Javascript 检查html5视频是否准备就绪

Javascript 检查html5视频是否准备就绪,javascript,html,html5-video,Javascript,Html,Html5 Video,如果HTML5视频已准备好播放,是否会触发JavaScript事件 这里讨论得不错 特别是第一条评论 基本上,这是在规范中删除的,因为它与媒体的渲染方式不完全一致。而是添加了.buffered 以下是正在使用的缓冲区的示例: 我假设ready for playback意味着readyState属性等于HAVE_ough_DATA常量(数值4)。根据,当readyState属性变为此值时,应触发canplay事件。当视频准备播放时,您有2个事件要处理 canplay:当视频准备播放时触发 但是

如果HTML5视频已准备好播放,是否会触发JavaScript事件

这里讨论得不错

特别是第一条评论

基本上,这是在规范中删除的,因为它与媒体的渲染方式不完全一致。而是添加了.buffered

以下是正在使用的缓冲区的示例:


我假设ready for playback意味着
readyState
属性等于
HAVE_ough_DATA
常量(数值4)。根据,当readyState属性变为此值时,应触发
canplay
事件。

当视频准备播放时,您有2个事件要处理

  • canplay:当视频准备播放时触发 但是缓冲还没有完成
  • canplaythrough:在视频准备播放和缓冲完成时触发

我发现它非常有用,因为它列出了html5媒体标签的所有可用事件。

刚刚遇到了这个问题,尽管这个问题有点老,但我还是为未来的读者(像我一样,可能来自谷歌)发布了这个问题

因此,截至今天,这是html5媒体的事件列表(根据W3C):

  • onabort:中止时要运行的脚本
  • oncanplay:当文件准备开始播放时(当其缓冲足够开始时)要运行的脚本
  • oncanplaythrough:当文件可以一直播放到最后而不暂停缓冲时运行的脚本
  • ondurationchange:媒体长度更改时要运行的脚本
  • OneEmptied:当发生错误且文件突然不可用(如意外断开连接)时运行的脚本
  • onended:媒体结束时运行的脚本(对于“感谢收听”等消息来说是一个有用的事件)
  • OneError:加载文件时发生错误时要运行的脚本
  • onloadeddata:加载媒体数据时要运行的脚本
  • onloadedmetadata:加载元数据(如维度和持续时间)时要运行的脚本
  • onloadstart:在实际加载任何内容之前,在文件开始加载时运行的脚本
  • onpause:由用户或以编程方式暂停媒体时要运行的脚本
  • onplay:媒体准备开始播放时运行的脚本
  • onplaying:媒体实际开始播放时运行的脚本
  • onprogress:当浏览器正在获取媒体数据时要运行的脚本
  • onratechange:每次播放速率更改时运行的脚本(如用户切换到慢动作或快进模式时)
  • onreadystatechange:每次就绪状态更改时运行的脚本(就绪状态跟踪媒体数据的状态)
  • onseek:当seek属性设置为false时运行的脚本,表示seek已结束
  • onseek:当seek属性设置为true时运行的脚本,指示seek处于活动状态
  • onstalled:无论出于何种原因,浏览器无法获取媒体数据时要运行的脚本
  • onsuspend:无论出于何种原因,在完全加载媒体数据之前,停止提取媒体数据时要运行的脚本
  • ontimeupdate:播放位置更改时运行的脚本(如用户快进到媒体中的不同点时)
  • onvolumechange:每次更改卷时运行的脚本(包括将卷设置为“静音”)
  • onwaiting:当介质暂停但预期会恢复时运行的脚本(如介质暂停以缓冲更多数据时)
丹茨正在寻找昂山素季


希望这有帮助。

最新列表位于此处:代码示例将有助于MMM。你确定吗?我认为正确的事件关联和足够的数据是‘canplaythrough’,看起来草案自2011年以来有所改变:)。我同意您的观点,今天当readyState拥有足够的数据时,触发的事件是canplaythrough。根据我的经验,canplaythrough在mobile safariUse
$(''#someid')中无法可靠地触发。on('canplay',function(){/*您的代码*/})
用于基于jQuery的访问。该链接提供了一个404 not found-这就是为什么不链接到潜在答案,而是在此处发布答案。您可以在此处找到类似的列表: