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

时间:2016-02-08 14:35:29

标签: javascript angularjs html5-video video.js

我希望在使用任何事件监听器播放视频时监控视频持续时间。我正在使用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 eventlisteners,但它们不太可能有用。

那么为视频播放附加事件监听器的任何帮助都会让我获得播放持续时间吗?

1 个答案:

答案 0 :(得分:3)

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

myPlayer.on("timeupdate", myfun);

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