Я встраиваю проигрыватель 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
Кто-нибудь может дать мне какое-нибудь представление об этом? Спасибо