HTML Audio/Video DOM timeupdate 事件

HTML audio/video 标签参考手册 HTML 音频/视频 DOM 参考手册

当视频播放位置已经改变,显示视频当前播放位置(一秒计):

<p>该实例中,我们使用了 HTML DOM 为 video 元素添加 "ontimeupdate" 事件。 在用户开始播放视频,或者移动视频的播放位置时触发函数,并显示视频的播放位置。
</p>

<video id="myVideo" width="320" height="176" controls>
  <source src="/examples/mov_bbb.mp4" type="video/mp4">
  <source src="/examples/mov_bbb.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>

尝试一下 »

本文底部包含了更多实例。


定义和用法

timeupdate 事件在音频/视频(audio/video)的播放位置发生改变时触发。

该事件可以在以下情况被调用:

  • 播放音频/视频(audio/video)
  • 移动音频/视频(audio/video)播放位置

提示: timeupdate 事件通常与 Audio/Video 对象的 currentTime 属性一起使用,该属性返回音频/视频(audio/video)的播放位置(以秒计)。


浏览器支持

表格中的数字表示支持该事件的第一个浏览器的版本号。

事件
timeupdate Yes 9.0 Yes Yes Yes

语法

HTML 中:

<audio|video ontimeupdate="myScript">
<p>该实例中,我们为 video 元素添加 "ontimeupdate" 事件。 在用户开始播放视频,或者移动视频的播放位置时触发函数,并显示视频的播放位置。
</p>
<video controls ontimeupdate="myFunction(this)">
  <source src="/examples/mov_bbb.mp4" type="video/mp4">
  <source src="/examples/mov_bbb.ogg" type="video/ogg">
  您的浏览器不支持 HTML5 video 标签。
</video>

<p>播放位置: <span id="demo"></span></p>

<script>
  function myFunction(event) {
    //  currentTime 属性返回音频/视频(audio/video)的播放位置
    document.getElementById("demo").innerHTML = event.currentTime;
  }
</script>

尝试一下 »

JavaScript 中:

audio | video.ontimeupdate = function() {
  myScript
};
<p>该实例中,我们使用了 HTML DOM 为 video 元素添加 "ontimeupdate" 事件。 在用户开始播放视频,或者移动视频的播放位置时触发函数,并显示视频的播放位置。
</p>

<video id="myVideo" width="320" height="176" controls>
  <source src="/examples/mov_bbb.mp4" type="video/mp4">
  <source src="/examples/mov_bbb.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>

尝试一下 »

JavaScript 中, 使用 addEventListener() 方法:

audio | video.addEventListener("timeupdate", myScript);
<p>该实例中,我们使用了 addEventListener() 方法为 video 元素添加 "ontimeupdate" 事件。 在用户开始播放视频,或者移动视频的播放位置时触发函数,并显示视频的播放位置。
</p>

<video id="myVideo" controls>
  <source src="/examples/mov_bbb.mp4" type="video/mp4">
  <source src="/examples/mov_bbb.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.addEventListener("timeupdate", myFunction);

  function myFunction() {
    // 显示 id="demo" 的 p 元素中视频的播放位置
    document.getElementById("demo").innerHTML = vid.currentTime;
  }
</script>

尝试一下 »

注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。


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

更多实例

当音频的播放位置改变时,显示当前音频的播放位置(以秒计):

<p>该实例中,我们使用了 HTML DOM 为 audio 元素添加 "ontimeupdate" 事件。 在用户开始播放视频,或者移动音频的播放位置时触发函数,并显示视频的播放位置。
</p>
<audio id="myAudio" controls>
  <source src="/examples/horse.ogg" type="audio/ogg">
  <source src="/examples/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>

尝试一下 »


使用 currentTime 属性设置播放位置为 5 秒:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>蜜蜂教程(mifengjc.com)</title>
</head>
<body>

  <video id="myVideo" width="320" height="240" controls>
  <source src="/examples/movie.mp4" type="video/mp4">
  <source src="/examples/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>

尝试一下 »


HTML audio/video 标签参考手册 HTML 音频/视频 DOM 参考手册