当currentTime更新时会触发timeupdate事件。 这个事件的触发频率由系统决定,但是会保证每秒触发4-66次(前提是每次事件处理不会超过250ms)。鼓励用户代理根据系统的负载和处理事件的平均成本来改变事件的频率,保证UI更新不会影响视频的解码。
视频的播放位置更改后,以秒为单位显示视频的当前位置:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML 音频/视频 ontimeupdate 事件使用-菜鸟教程(cainiaojc.com)</title> </head> <body> <p>该示例中,我们使用了 HTML DOM 为 video 元素添加 "ontimeupdate" 事件。 在用户开始播放视频,或者移动视频的播放位置时触发函数,并显示视频的播放位置。</p> <video id="myVideo" width="320" height="176" controls> <source src="movie.mp4" type="video/mp4"> <source src="movie.ogg" type="video/ogg"> 您的浏览器不支持 HTML5 video 标签。 </video> <p>播放位置: <span id="demo"></span></p> <script> // 获取 id="myVideo" 的 video 元素 var vid = document.getElementById("myVideo"); // 为 video 元素添加 ontimeupdate 事件,如果当前播放位置改变则执行函数 vid.ontimeupdate = function() {myFunction()}; function myFunction() { // 显示 id="demo" 的 p 元素中视频的播放位置 document.getElementById("demo").innerHTML = vid.currentTime; } </script> </body> </html>测试看看 ‹/›
timeupdate 事件在音频/视频(audio/video)的播放位置发生改变时触发。
该事件可以在以下情况被调用:
播放音频/视频(audio/video)
移动音频/视频(audio/video)播放位置
提示: timeupdate 事件通常与 Audio/Video 对象的currentTime 属性一起使用,该属性返回音频/视频(audio/video)的播放位置(以秒计)。
IEFirefoxOperaChromeSafari
HTML 中:
<audio|video ontimeupdate="myScript">尝试一下
JavaScript 中:
audio|video.ontimeupdate=function(){myScript};尝试一下
JavaScript 中, 使用 addEventListener() 方法:
audio|video.addEventListener("timeupdate", myScript);尝试一下
注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。
技术细节支持的 HTML 标签: | <audio> 和 <video> |
---|---|
支持的 JavaScript 对象: | Audio, Video |
当音频的播放位置改变时,显示当前音频的播放位置(以秒计):
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML 音频/视频 ontimeupdate 事件使用-菜鸟教程(cainiaojc.com)</title> </head> <body> <p>该示例中,我们使用了 HTML DOM 为 audio 元素添加 "ontimeupdate" 事件。 在用户开始播放视频,或者移动音频的播放位置时触发函数,并显示视频的播放位置。</p> <audio id="myAudio" controls> <source src="horse.ogg" type="audio/ogg"> <source src="horse.mp3" type="audio/mpeg"> 您的浏览器不支持 audio 元素。 </audio> <p>播放位置: <span id="demo"></span></p> <script> // 获取 id="myAudio" 的 audio var aud = document.getElementById("myAudio"); // 为 audio 元素添加 ontimeupdate 事件,并在播放位置改变时执行函数 aud.ontimeupdate = function() { myFunction() }; function myFunction() { // 显示 id="demo" 的 <p> 元素中音频的播放位置 document.getElementById("demo").innerHTML = aud.currentTime; } </script> </body> </html>测试看看 ‹/›
使用 currentTime 属性设置播放位置为 5 秒:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML 音频/视频 ontimeupdate 事件使用-菜鸟教程(cainiaojc.com)</title> </head> <body> <video id="myVideo" width="320" height="240" controls> <source src="movie.mp4" type="video/mp4"> <source src="movie.ogg" type="video/ogg"> Your browser does not support the video tag. </video><br> <button onclick="setCurTime()" type="button">设置播放位置为 5 秒</button> <p id="demo"></p> <script> // 获取 id="myVideo" 的 video 元素 var vid = document.getElementById("myVideo"); // 为 video 添加 "timeupdate" 事件 vid.addEventListener("timeupdate", getCurTime); // 显示 id="demo" 的 p 元素中视频的播放位置 function getCurTime() { document.getElementById("demo").innerHTML = "当前播放位置为 " + vid.currentTime + " 秒。"; } // 设置播放位置为 5 秒 function setCurTime() { vid.currentTime = 5; } </script> </body> </html>测试看看 ‹/›