Связанный вопрос: Как получить статус приостановления видео в Vimeo API?
Я пытаюсь реализовать кнопку переключения, и я не уверен, как проверить, приостановлено ли видео в состоянии паузы. Все примеры, которые я видел, касаются двух отдельных кнопок воспроизведения и паузы.
var iframe = $('#vimeo-frame')[0];
var player = $f(iframe);
$('#controls li.vimeo a').bind('click', function() {
var $this = $(this);
if( player.api('paused') ) {
player.api('play');
// yep video is paused, so now play it
} else {
player.api('pause');
// video was playing, so now pause it.
}
});
Я попробовал player.api('paused')
поскольку он должен возвращать логическое значение. player.api('play')
и player.api('pause')
работают player.api('pause')
. Может кто-то мне помочь здесь. Благодарю.
EDIT с предложениями Brads:
var iframe = $('#vimeo-frame')[0];
var player = $f(iframe);
$('#controls li.vimeo a').bind('click', function() {
var $this = $(this);
console.log('clicked'); // triggers
player.api('paused', function(paused) {
console.log('inside paused'); // doesn't trigger
if (paused) {
player.api('play');
}
else {
player.api('pause');
}
});
});
Мое исследование привело меня к: где этот pause vimeo вставлять код в мой ползунок? и http://jsfiddle.net/bdougherty/UTt2K/56/, но все еще не совсем работает.
Возможно, вы пропустили эту строку в документах? (Я знаю, что уверен)
Если вы встраиваете и управляете несколькими игроками на странице или используете нашу библиотеку JS API (Froogaloop), вы должны дать каждому игроку player_id, который соответствует идентификатору элемента iframe.
http://player.vimeo.com/video/VIDEO_ID?api=1&player_id=vimeoplayer
Поскольку API использует postMessage
, для захвата любых данных требуется использование функции обратного вызова. Вы должны передать обратный вызов в качестве второго параметра для вызова api
. Значение, которое вы запрашиваете, будет передано в качестве первого параметра для обратного вызова.
player.addEvent('paused', function(paused) {
if (paused) {
player.api('play');
}
else {
player.api('pause');
}
});