2011-01-19 59 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

相关问题