2011-01-19 58 views
9

我應該使用jquery創建一種YouTube視頻旋轉。我環顧四周,似乎沒有適合該要求的插件。甚至沒有解決方案。使用javascript完成YouTube視頻播放時捕捉事件

也許我會盡量做到這一點。那麼現在,我怎麼能確定一個YouTube視頻已經完成播放,並自動播放下一個,使用Jquery,或者只是簡單的JavaScript?

如果你碰巧知道一個可能有用的插件,請指出。

感謝

+1

不YouTube的播放列表功能,您可以將視頻排隊以自動旋轉? - **編輯**案例:http://www.youtube.com/custom_player/ – 2011-01-19 08:10:27

回答

12

首先,你必須確保你的JavaScript通過傳遞enablejsapi=1爲獲取PARAM支持嵌入YouTube播放器。以下是我使用SWFObject插入(無邊框)播放器:

var player_id = "your_player_id"; 
    var params = { allowScriptAccess: "always" }; 
    var url = "http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=" + player_id; 
    swfobject.embedSWF(url, player_id, '320', '240', "9.0.0", null, null, params, {'id': player_id}); 

然後,你需要添加一個全局函數,當球員準備好被調用,並在添加一個偵聽器,當影片完成:

var player = null; 

    function onYouTubePlayerReady(player_id) { 
     player = document.getElementById(player_id); 
     player.addEventListener('onStateChange', 'playerStateChanged'); 
     player.loadVideoById(youtube_video_id); 
    }; 

    function playerStateChanged(state) { 
     // State code 0 means playback ended 
     if (state == 0) { 
     player.loadVideoById(next_video_id); 
     } 
    }; 

我爲我的youtube播放列表書籤編寫了這段代碼。下面是如果你想有一個工作示例的鏈接:http://zaius.github.com/youtube_playlist/

如果你想要做深入再說了,這裏的YouTube的javascript參考我在那裏工作了如何做到這一切:http://code.google.com/apis/youtube/js_api_reference.html

相關問題