在 VideoJS 中添加事件侦听器,用于在运行时获取视频持续时间

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

本文关键字:运行时 获取 视频 持续时间 用于 侦听器 VideoJS 添加 事件      更新时间:2023-09-26

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

我遇到过像play这样的事件,myplayer.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());
}