小码哥的IT人生

HTML Audio/Video DOM canplaythrough 事件 详解

HTML基础 2022-06-02 15:34:23小码哥的IT人生shichen

HTML Audio/Video DOM canplaythrough 事件

实例

提示视频能够不停顿地一直播放:

myVid=document.getElementById("video1");
myVid.oncanplaythrough=alert("Can play through video without stopping");

 

完整实例【亲自试一试】:

<!DOCTYPE html>
<html>
<body>
<video id="video1" controls="controls">
  <source src="/demo/example/html5/mov_bbb.mp4" type="video/mp4">
  <source src="/demo/example/html5/mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>
<script>
myVid=document.getElementById("video1");
myVid.oncanplaythrough=alert("Can play through video without stopping");
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

定义和用法

当浏览器预计能够在不停下来进行缓冲的情况下持续播放指定的音频/视频时,会发生 canplaythrough 事件。

当音频/视频处于加载过程中时,会依次发生以下事件:

  1. loadstart
  2. durationchange
  3. loadedmetadata
  4. loadeddata
  5. progress
  6. canplay
  7. canplaythrough

浏览器支持

所有主流浏览器都支持 canplaythrough 事件。

注释:Internet Explorer 8 或更早的浏览器不支持该事件。

语法

在 HTML 中:

<audio|video oncanplaythrough="SomeJavaScriptCode">

在 JavaScript 中:

audio|video.oncanplaythrough=SomeJavaScriptCode;

使用 addEventListener():

audio|video.addEventListener("canplaythrough", function()
  {
  //SomeJavaScriptCode
  }
);

技术细节

以下 HTML 标签支持: <audio>, <video>
以下 JavaScript 对象支持: Audio, Video

更多实例

 

完整实例【在 HTML 元素上使用 durationchange 属性】:

<!DOCTYPE html>
<html>
<body>
<video id="video1" controls="controls" oncanplaythrough="alert('Can play through video without stopping')">
  <source src="/demo/example/html5/mov_bbb.mp4" type="video/mp4">
  <source src="/demo/example/html5/mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

 

完整实例【使用 addEventListener() 来监听 durationchange 事件】:

<!DOCTYPE html>
<html>
<body>
<video id="video1" controls="controls">
  <source src="/demo/example/html5/mov_bbb.mp4" type="video/mp4">
  <source src="/demo/example/html5/mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>
<script>
myVid=document.getElementById("video1");
myVid.addEventListener("canplaythrough", function()
  {
  alert("Can play through video without stopping");
  }
);
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024