Как получить статус воспроизведения видео с приостановленным Vimeo API?

Мне было просто интересно, как я могу определить, воспроизводится ли видео или приостанавливается (или даже загружается / буферизируется) в API Vimeo ( http://player.vimeo.com/playground), оно сильно отличается от Youtube!

Джо

4 ответа

Проверьте самый богатый пример использования vimeo Player Javascript API. Он использует библиотеку froogaloop для связи с Vimeo JS API. Не забудьте добавить id и параметры в элемент iframe.

  <iframe id="player_1" src="http://player.vimeo.com/video/7100569?api=1&amp;player_id=player_1" width="540" height="304" frameborder="0" webkitallowfullscreen></iframe>

JavaScript API Vimeo Player предоставляет следующий метод:

paused():Boolean

Этот возврат возвращает false, если видео воспроизводится, в противном случае - true.

Полная информация здесь: http://developer.vimeo.com/player/js-api

Похоже, что их документация немного изменилась с момента последнего ответа. После того, как вы получите экземпляр плеера, вы можете проверить состояние воспроизведения / паузы:

player.getPaused().then(function(paused) {
    if(paused){
        player.play();
    }else{
       player.pause();
    }

});

Из vimeo player api docs

Оказывается, вы должны передать обратный вызов в качестве второго параметра .api(), который получит true / false основанный как состояние паузы игрока:

player.api('paused', function(paused) {
    // paused will be true or false here
});

https://github.com/vimeo/player-api/issues/31

const iframe = document.querySelector('iframe');
  const player = new Player(iframe);
  
  player.loadVideo(123456).then(() => {
    player.ready().then(() => {
      player.on('pause', (data) => console.log(data));
    }).catch((err) => console.log(err));
  })
            var onPlay = function(data) {
              console.log("play")
            };

            var onPause = function(data) {
              console.log("pause")
            };

            player.addEvent('play', onPlay);
            player.addEvent('pause', onPause);
Другие вопросы по тегам