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>