JW Player 7暂停精确时间

时间:2015-11-12 00:52:46

标签: youtube jwplayer jwplayer7

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

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

但它每次都在工作。有时它有效,有时它不起作用。它完全是随机的。为什么?

3 个答案:

答案 0 :(得分:1)

根据正在播放的媒体类型和连接到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;
    }
});

答案 1 :(得分:0)

在将jwplayer对象放入变量之前,我遇到了问题。我没有解释,但如果你继续使用jwplayer(),我会冒险你可能会有更好的运气;明确打电话。希望这能为您提供更一致的结果。也许可以尝试'=='而不是'==='。你能告诉我们你是如何宣布玩家实例的吗?

答案 2 :(得分:0)

我使用了推荐声明 - JW Player website Api

“我们鼓励开发人员停止使用jwplayer()语法,而是保留对播放器实例的引用。根据JW Player 7的设计方式,这实际上可以在播放器设置期间节省几毫秒的时间。”< / p>

var playerInstance = jwplayer('container'); //jwplayer('container').pause(); // BAD! :( playerInstance.pause(); // Good :)

我刚用jwplayer()声明测试了你的解决方案'=='&amp; '==='。但它仍然不起作用。

我用我们的2声明为你准备了一个小提琴。

http://jsfiddle.net/slk500/rftbtzpr/

感谢您的帮助!

相关问题