我刚刚做了一个小的videojs例子,它有一个登录事件播放,我正在使用类似play(),pause()的api。

var myplayer;
var playCount = 0;
videojs("example_video_1").ready(function(){

      myplayer = this;

      myplayer.on("play", function(){
        playCount++;
        $("#count").text(playCount)

      });

});
$("#test").click(function (){
    myplayer.pause();
    myplayer.play();
});

问题是,在执行api时,play事件将进入无限循环。
我可以在触摸设备中找到这个问题,如果我启用控制,即使在寻找酒吧,做播放暂停等。所以如果我没有使用组合,我也可以找到这个问题。
在内部,库在seek或其他控件中使用这些api?
jsfiddle中的链接LIVE BUG:

最佳答案

这是video js事件处理中的一个错误:
https://github.com/videojs/video.js/issues/573https://github.com/videojs/video.js/issues/620同时,一种解决方法是在超时时设置任何播放/暂停开关。

$("#test").click(function (){
    myplayer.pause();
    window.setTimeout(function() {myplayer.play();}, 10);
});

08-25 16:04