在 videojs 中添加事件侦听器以在 运行 时间内获取视频持续时间
to add event listener for getting video duration in run time in videojs
我想在视频播放时使用任何事件侦听器监视视频持续时间。我正在使用 videojs
进行视频播放。
我遇到过 play
、myplayer.isPaused
等事件,但它们只触发一次。
myplayer
是 videojs
的视频元素。
现在经过进一步研究,我得到了一个名为 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());
}
我想在视频播放时使用任何事件侦听器监视视频持续时间。我正在使用 videojs
进行视频播放。
我遇到过 play
、myplayer.isPaused
等事件,但它们只触发一次。
myplayer
是 videojs
的视频元素。
现在经过进一步研究,我得到了一个名为 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());
}