youtube - JW Player 7在精确时间暂停

标签 youtube jwplayer jwplayer7

我正在玩YouTube嵌入视频。我希望播放器在第三秒暂停。代码如下:

playerInstance.on('time', function(x) {
    if (x.position === 3){
        playerInstance.pause();
    }
});

但这并非每次都能奏效。有时它起作用,有时却不起作用。这是完全随机的。为什么?

最佳答案

根据正在播放的媒体类型和挂接到JW播放器实例的其他事件,“onTime”事件每秒会触发多次,并报告到许多小数位。

因此,“位置”极不可能完全是3(这是您实际上在说的:“==”和“===”)。

使用'> ='会更健壮:

playerInstance.on('time', function(x) {
    if (x.position >= 3){
        playerInstance.pause();
    }
});

但是,这将意味着玩家将无法播放超过3秒的内容,因此根据您的要求,您可能还需要包括其他逻辑来满足以下要求:
  • 在暂停点之后继续播放
  • 如果用户搜寻超过3秒该怎么办
  • 寻求返回,然后第二次到达暂停点
  • 等...

  • 可能更好的解决方案是将“位置”转换为整数值并进行直接比较。这意味着您不需要逻辑来处理超过暂停点的进度。但是,您将需要逻辑以确保仅在暂停点暂停一次。以下内容可满足此要求:
    playerInstance.on('time', function(x){
        if(parseInt(x.position,10)===3){
            if(!playerInstance["pauseOnce"]){
                playerInstance["pauseOnce"]=true;
                playerInstance.pause();
            }
        }else{
            playerInstance["pauseOnce"]=false;
        }
    });
    

    关于youtube - JW Player 7在精确时间暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33662656/

    相关文章:

    wordpress - 在您的 API key 上配置错误

    javascript - 多个 YouTube 视频嵌入自动播放序列

    javascript - 在 onTime 函数 jwplayer 中只执行一次 ajax 请求

    android - Android中的YouTube横向模式

    php - 将文本中的 YouTube 链接替换为特定的嵌入代码

    responsive-design - 响应式视频播放器

    javascript - JW Player在ie9和ie10下不能播放MP4视频格式的视频

    JWPlayer:删除删除事件的监听器

    android - 如何在android studio中集成JWPlayer

    youtube - 如何获得YouTube channel 名称?