2013-03-14 119 views
3

我在使用Vimeo API和多個視頻時遇到了一些麻煩。我正在使用的代碼暫停Vimeo API不支持多個視頻

<audio id="audio-player" autoplay="autoplay" loop> 
<source src="music/peanutbutter.mp3" type="audio/mpeg"> 
</audio> 

不能播放,但它只能處理第一個視頻iframe。如果我點擊第二,第三或第四個視頻內置頁框上的播放按鈕,不幸的是它不會暫停頁面上的音頻。這可能是一個簡單的解決辦法,但我會瘋狂嘗試解決這個問題。謝謝!

<script src="http://a.vimeocdn.com/js/froogaloop2.min.js"></script> 

<script type="text/javascript"> 
$(function(){ 

var vimeoPlayer = document.querySelector('iframe'); 

$f(vimeoPlayer).addEvent('ready', ready); 

function ready(player_id) { 

    froogaloop = $f(player_id); 

    function setupEventListeners() { 
     function onPlay() { 
      froogaloop.addEvent('play', 
      function(){ 
       $("#audio-player")[0].pause(); 
       $("#header-button-sound-play").hide(); 
       $("#header-button-sound-pause").show(); 
      }); 
     } 

     onPlay(); 

    } 
    setupEventListeners(); 
} 

}) 
</script> 

<div id="dwf-trailer" class="content"><iframe id="player_1" src="http://player.vimeo.com/video/35740045?api=1&player_id=player_1" width="745" height="393" frameborder="0"></iframe></div> 

<div id="inkpaper-watch" class="content"><iframe id="player_2" src="http://player.vimeo.com/video/33359230?api=1&player_id=player_2" width="745" height="393" frameborder="0"></iframe></div> 

<div id="ramon-watch" class="content"><iframe id="player_3" src="http://player.vimeo.com/video/44427351?api=1&player_id=player_3" width="745" height="393" frameborder="0"></iframe></div> 

<div id="thatsunday-watch" class="content"><iframe id="player_4" src="http://player.vimeo.com/video/46602515?api=1&player_id=player_4" width="745" height="393" frameborder="0"></iframe></div> 

回答

2

沒關係!弄清楚了。

取代這個位的代碼

$f(vimeoPlayer).addEvent('ready', ready); 

有了這個

jQuery('iframe').each(function(){ 
      Froogaloop(this).addEvent('ready', ready); 
}); 

固定的問題!因此,工作的JavaScript代碼是

<script type="text/javascript"> 
$(function(){ 

jQuery('iframe').each(function(){ 
      Froogaloop(this).addEvent('ready', ready); 
}); 

function ready(player_id) { 

    froogaloop = $f(player_id); 

    function setupEventListeners() { 
     function onPlay() { 
      froogaloop.addEvent('play', 
      function(){ 
       $("#audio-player")[0].pause(); 
       $("#header-button-sound-play").hide(); 
       $("#header-button-sound-pause").show(); 
      }); 
     } 

     onPlay(); 

    } 
    setupEventListeners(); 
} 

}) 
</script> 

由於 http://labs.funkhausdesign.com/examples/vimeo/froogaloop2-api-basics.html

的幫助!

+1

你不需要行 'var vimeoPlayer = document.querySelector('iframe');'了。 – 2015-01-21 08:16:05

+0

我已經刪除了行@Akash,它絕對不需要:)雖然很好的答案:) – chim 2015-09-02 09:26:57