HTML 音频/视频 document durationchange事件当音频或视频的时长数据发生变化时时触发。
当音频或视频的时长数据发生变化时时触发
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>当音频或视频的时长数据发生变化时时触发-HTML教程www.xuandaima.com</title> </head> <body> <button onclick="getTextTracks()" type="button">获得可用文本轨道的数量</button> <br> <video id="video" controls="controls"> <source src="/Template/Test/src/object.mp4" type="video/mp4"> 您的浏览器不支持 HTML5 video 标签。 </video> <script> myVid=document.getElementById("video"); myVid.ondurationchange=alert("音频或视频的时长数据发生变化"); </script> </body> </html>
当音频/视频处于加载过程中时,会依次发生以下事件:
loadstart
durationchange
loadedmetadata
loadeddata
progress
canplay
canplaythrough
windows系统safari浏览器不支持该属性
在 HTML 中:
<audio|video ondurationchange="SomeJavaScriptCode">
在 JavaScript 中:
音频对象或视频对象.ondurationchange=SomeJavaScriptCode;
使用 addEventListener():
音频对象或视频对象.addEventListener("durationchange", function() { //SomeJavaScriptCode } );
在 HTML 元素上使用 durationchange属性
<video id="video" controls="controls" ondurationchange="alert('音频或视频的时长数据发生变化')"> <source src="/Template/Test/src/mov_bbb.mp4" type="video/mp4"> 您的浏览器不支持 HTML5 video 标签。 </video>
使用 addEventListener() 来监听 canplaythrough事件
<script> myVid=document.getElementById("video"); myVid.addEventListener("durationchange", function() { alert('音频或视频的时长数据发生变化'); } ); </script>