添加事件侦听器以在 videojs 中获取运行时的视频持续时间

bib*_*gar 4 javascript html5-video angularjs video.js

我想使用任何事件侦听器在视频播放时监视视频持续时间。我用于videojs视频播放。

我遇到过类似的事件playmyplayer.isPaused但它们只触发一次。 myplayer是 的视频元素videojs。现在,经过进一步研究,我得到了一个名为 的事件 on。代码如下:

myPlayer.on("play", myfun);

  function myfun() {
    console.log("myPlayer.currentTime()");
    console.log(myPlayer.currentTime());
    myfun();
  }
Run Code Online (Sandbox Code Playgroud)

这是我期望它会给我的,currentTime正如你所看到的,我正在递归myfun调用。但是这个函数被调用了一百万次,但只给了我开始时间,即0

我什至尝试放入myPlayer.currentTime()setInterval但这种方法不值得信赖,当然也不是一个好主意。

我使用了原生 javascript 事件监听器,但它们不太可能有用。

那么有什么帮助可以为视频播放附加事件侦听器以便我获得播放持续时间吗?

Sve*_*nov 7

play仅当播放开始时才会触发该事件。如果您想监视视频的进度,那么正确的事件是timeupdate。这是一个例子:

myPlayer.on("timeupdate", myfun);

function myfun() {
    console.log("myPlayer.currentTime()", myPlayer.currentTime());
}
Run Code Online (Sandbox Code Playgroud)