Skip to content

Latest commit

 

History

History
116 lines (88 loc) · 2.84 KB

File metadata and controls

116 lines (88 loc) · 2.84 KB

HTML Audio/Video DOM canplaythrough 事件

示例

提示视频可以一直播放,无需停止:

<video id="myVideo" width="320" height="176" controls>
  <source src="../../../assets/mov_bbb.mp4" type="video/mp4">
  <source src="../../../assets/mov_bbb.ogg" type="video/ogg">
  您的浏览器不支持 HTML5 视频。
</video>
<div>加载状态:<span id="info">正在加载中...</span><div>
<script>
var vid = document.getElementById("myVideo");
vid.oncanplaythrough = function() {
  document.getElementById('info').innerHTML = '可以不间断地播放视频';
};
</script>

JavaScript:

var vid = document.getElementById("myVideo");
vid.oncanplaythrough = function() {
  alert("可以不间断地播放视频");
};

定义和用法

当浏览器估计它可以播放指定的音频/视频而无需停止缓冲时,就会发生 canplaythrough 事件。

在音频/视频的加载过程中,会依次发生以下事件:

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

浏览器支持

表中的数字指定了完全支持该方法的第一个浏览器版本。

事件 chrome edge firefox safari opera
canplaythrough Yes 9.0 Yes Yes Yes

语法

HTML 中:

<audio oncanplaythrough="myScript">
<video oncanplaythrough="myScript">

JavaScript 中:

audio|video.oncanplaythrough=function(){ myScript };

JavaScript 中,使用 addEventListener() 方法:

audio|video.addEventListener("canplaythrough", myScript);

技术细节

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

更多示例

提示音频可以一直播放,无需停止:

<audio id="myAudio" controls>
  <source src="../../../assets/horse.ogg" type="audio/ogg">
  <source src="../../../assets/horse.mp3" type="audio/mpeg">
  您的浏览器不支持音频元素。
</audio>
<div>加载状态:<span id="info">正在加载中...</span><div>
<script>
var aud = document.getElementById("myAudio");
aud.oncanplay = function() {
  document.getElementById('info').innerHTML = '可以开始播放音频';
};
</script>

JavaScript:

var aud = document.getElementById("myAudio");
aud.oncanplay = function() {
    alert("可以开始播放音频");
};