在video-js中如何创建自定义事件?

Mus*_*kat 2 javascript javascript-events html5-video video.js

我需要在视频JS中创建一个自定义事件,该事件会在播放过程中的某个时间点触发。

例如:

player.on('timeupdate',function(){
    if(player.currentTime> 50){
        // trigger some custom event like 'played50Second'
    }
});
Run Code Online (Sandbox Code Playgroud)

然后我想做:

player.on('played50Second',function(evt){
    console.log('Great Job, you played 50 second of the video!!!')
});
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

mis*_*ben 5

player.trigger('played50Second');

您可能想确保只触发一次,而不是每次都触发currentTime()大于50。这currentTime是video.js API中的函数,因此player.currentTime() > 50

    var player = videojs('my_player');
    var timeCheck = function() {
      if (player.currentTime() > 50) {
        player.off('timeupdate', timeCheck);
        player.trigger('played50Second');
      }
    };
    player.on('played50Second', function(){
      console.log('...');
    });
    player.on('timeupdate', timeCheck);
Run Code Online (Sandbox Code Playgroud)