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

In video-js how to create a custom event?

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

例如:

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

然后我想做:

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

我怎样才能做到这一点?

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);