2011-10-29 115 views
0

當用戶單擊視頻的縮略圖圖像時,我使用Youtube iframe API來動態加載YouTube視頻。當視頻已經播放,並且用戶開始播放另一個視頻時,我想要暫停正在播放的第一個視頻。在同一頁面上播放另一個視頻時暫停Youtube視頻

我還想在視頻播放完畢後加載下一個視頻。

這裏是我的代碼:

loaded_video_array = new Array(); 

$("div.embed").live('click', function() { 

    thumb.removeClass("play-button").addClass("pressed"); 

    add_embedded_player(); 

}); 

function onPlayerStateChange(event) { 
    if (event.data == 0){ 

     $("div.pressed").parents("div.video").next().find("div.embed").click(); 

    }else if (event.data == 3){ 

     for (var i=0;i < loaded_video_array.length; i++){ 
      loaded_video_array[i].pauseVideo(); 
     } 

     loaded_video_array.push(event.target); 
    } 
}; 

回答

0

用戶每次動態加載視頻,存儲它在一個數組變量/參考。然後,在開始新視頻時,只需遍歷數組並暫停每個視頻即可。如果它已經暫停,那麼沒有傷害沒有犯規。這不是最好的做法,但它會起作用。

+0

我如何獲得視頻的參考?我試着設置'playerapiid'參數,然後調用'document.getElementById(apiid).pauseVideo()',但是我得到的錯誤是我在一個null變量上調用方法。 –

+0

你可以發佈播放視頻的代碼嗎?我可以從那裏幫助你。 – switz

+0

好的,我發佈了我的代碼並按照你的建議。它的工作原理除了有一個大問題。我只能在從一開始播放視頻時的event.data == 3時暫停陣列中的視頻。如果用戶重播已經暫停的視頻,則不會執行其他視頻的暫停代碼... –

相關問題