Приостановить все видео Vimeo с помощью API?

Я ударился о стену и не могу понять, как это сделать. С помощью расширенного API Vimeo я извлекаю все видео из учетной записи с миниатюрами. При нажатии на миниатюру видео отображается выше, а при нажатии на другую миниатюру текущее видео скрывает. Проблема в том, что видео продолжает воспроизводиться, даже когда оно скрыто. Я потратил несколько часов на просмотр API и не могу заставить его приостанавливаться, когда он скрыт.

var iframe = $('.video')[0];

  $('.thumbnail a').click(function(e) {

  $f(iframe).api('pause');

  });

Приведенный выше код приостанавливает только первое видео. Если я изменю число [0] на [1], то второе видео приостановится, когда вы нажмете на другую миниатюру. У кого-нибудь есть мысли? Я использую froogaloop в приведенном выше коде.


person Tom    schedule 27.03.2013    source источник


Ответы (2)


Вы можете использовать этот код, чтобы приостановить все видео YouTube и Vimeo на странице:

$('iframe').each(function() {
  this.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
  this.contentWindow.postMessage('{"method":"pause","value":""}', '*');
});
person ndbroadbent    schedule 12.04.2015
comment
Я люблю тебя ‹3 Как оберег! - person Frizzant; 03.12.2020

Я использовал это с jQuery:

<script type="text/javascript" src="http://a.vimeocdn.com/js/froogaloop2.min.js"></script>
<script type="text/javascript">// <![CDATA[
function pauseAll() {
    $('iframe[src*="vimeo.com"]').each(function () {
        $f(this).api('pause');
    });
}
// ]]></script>

используйте его по клику.

<a href="#" onclick="pauseAll(); return false;">pause all</a>
person Mark    schedule 28.08.2013