2014-11-14 4 views
0

Я использую API Froogaloop от Vimeo для управления встроенным видео Vimeo. Я создал несколько кнопок, которые возвращаются на 30 секунд, назад 60 секунд, вперед 30 секунд и вперед 60 секунд со следующим кодом. Все работает отлично, но ...

Я получаю около 33 экземпляров следующей ошибки каждый раз, когда я нажимаю на одну из кнопок «Назад». Ошибка не возникает, когда я нажимаю кнопки «Вперед».

Зачем возникает эта ошибка и как я могу исправить этот код, чтобы ошибка не возникала?

Ошибка при использовании Froogaloop api для перемотки назад 30 секунд

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

ОШИБКА
Uncaught Ошибка: секунды должен быть положительным поплавка меньше, чем продолжительность видеозаписи (не определено).

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> 


ответ

0

Там есть пара вещей происходит здесь:

  1. Вы настраиваете нового прослушивателя на ссылки для каждого события прогресса, поэтому их быстро сотни. Вы можете исправить это, поставив обработчики кликов внутри обратного вызова для готового события.

  2. Убедитесь, что вы не проходите время поиска, которое меньше 0 или больше, чем продолжительность видео. Игрок будет игнорировать любые вызовы seekTo, которые находятся за пределами этих границ.