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

to add event listener for getting video duration in run time in videojs

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

我遇到过 playmyplayer.isPaused 等事件,但它们只触发一次。 myplayervideojs 的视频元素。 现在经过进一步研究,我得到了一个名为 on 的事件。 所以这里是代码:

myPlayer.on("play", myfun);

  function myfun() {
    console.log("myPlayer.currentTime()");
    console.log(myPlayer.currentTime());
    myfun();
  }

这是我预期它会给我 currentTime 的结果,如您所见,我正在递归调用 myfun。 但是这个函数被调用了一百万次,但只给了我 0 的开始时间。

我什至尝试将myPlayer.currentTime()放在setInterval中,但这种方法不可靠,当然不是一个好主意。

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

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

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

myPlayer.on("timeupdate", myfun);

function myfun() {
    console.log("myPlayer.currentTime()", myPlayer.currentTime());
}