使用Froogaloop api倒带30秒时出错

时间:2014-11-14 16:07:00

标签: javascript vimeo vimeo-api vimeo-player froogaloop

我正在使用Vimeo的Froogaloop API来控制嵌入式Vimeo视频。 我创建了一些按钮,这些按钮可以使用以下代码返回30秒,返回60秒,前进30秒和前进60秒。一切都很完美,但是......

每次单击其中一个“后退”按钮时,我会收到大约33个以下错误的实例。单击“前进”按钮时不会发生错误。

为什么会出现此错误以及如何修复此代码以便不会发生错误?

的jsfiddle
http://jsfiddle.net/serkyen/553htq60/8/

ERROR
   未捕获错误:秒必须是小于视频持续时间的正浮点数(未定义)。

JAVASCRIPT

window.onload = (function() {

var iframe_player = jQuery('#player_1')[0];
var player_1 = $f(iframe_player);

player_1.addEvent('ready', function() {
        player_1.addEvent('pause', onPause_part1);
        player_1.addEvent('finish', onFinish_part1);
        player_1.addEvent('playProgress', onPlayProgress_part1);
});

function onPlayProgress_part1(data, id) {

    jQuery("#part1-60s-b").click(function(){    
        player_1.api('seekTo', data.seconds - 60);
        player_1.api('play');       
    });

    jQuery("#part1-30s-b").click(function(){
        player_1.api('seekTo', data.seconds - 30);
        player_1.api('play');
    });

    jQuery("#part1-30s-f").click(function(){    
        player_1.api('seekTo', data.seconds + 30);
        player_1.api('play');       
    });

    jQuery("#part1-60s-f").click(function(){    
        player_1.api('seekTo', data.seconds + 60);
        player_1.api('play');       
    });
}
}



HTML

<a id="part1-60s-b" href="javascript:void(0);" class="simple-button">Back 60s</a>
<a id="part1-30s-b" href="javascript:void(0);" class="simple-button">Back 30s</a>
<a id="part1-30s-f" href="javascript:void(0);" class="simple-button">Forward 30s</a>
<a id="part1-60s-f" href="javascript:void(0);" class="simple-button">Forward 60s</a>


1 个答案:

答案 0 :(得分:0)

这里有几件事情发生了:

  1. 您正在为每个进度事件的链接设置一个新的侦听器,因此很快就有数百个。您可以通过将单击处理程序放在ready事件的回调中来解决此问题。

  2. 确保您没有传递小于0或大于视频持续时间的搜索时间。玩家将忽略任何超出界限的seekTo调用。