Встроенный проигрыватель VIMEO ведет себя странно, если я обнаруживаю размытие окна и приостанавливаю воспроизведение видео - PullRequest
0 голосов
/ 18 июня 2020

Я встраиваю проигрыватель vimeo и мне нужно автоматически ставить паузу, когда окно размыто.

Я использую текущий VIEMO SDK API (https://player.vimeo.com/api/player.js)

так что мой код следующий

var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
var myWindow = window;

player.on('play', function(data) {
  console.log("Playing...");
  myWindow.focus();
  myWindow.onblur = function() {
    player.pause();
    console.log("You gone...");
  };
});

И это отлично работает, когда пользователь щелкает по активному окну (например: изменить вкладку браузера или браузер потерял фокус)

Но большая проблема возникает после начать воспроизведение видео. Когда пользователь нажимает кнопку «пауза» (или просто щелкает в любом месте, где нужно сделать паузу) внутри встроенного проигрывателя. Видео просто не будет "приостанавливаться, кажется, что оно будет приостановлено на очень короткий промежуток времени, а затем продолжит воспроизведение снова !!! После многих попыток я все еще не могу решить эту проблему.

Я пытался установите небольшую задержку для команды паузы:

setTimeout(function(){ player.pause();}, 300);

Это немного помогает, но все же иногда видео будет продолжать воспроизводиться само.

И я также попытался сделать внешний Кнопка «Пауза», тогда эта «кнопка» будет вести себя нормально, она действительно может приостановить воспроизведение видео без каких-либо проблем. Но я действительно не хочу помещать внешнюю кнопку, чтобы приостановить видео, что делает интерфейс ужасным.

Я создал кодовую страницу, чтобы воспроизвести эту проблему следующим образом: https://codepen.io/kit-leong/pen/PoZWZEj

Кто-нибудь может дать мне какое-нибудь представление об этом? Спасибо

...