我应该使用 jquery 创建一种 youtube 视频旋转器。我环顾四周,似乎没有适合要求的插件。甚至没有解决方案。
也许我会尝试做这个。那么现在,我如何确定一个 YouTube 视频已播放完毕并自动播放下一个视频,使用 Jquery 或仅使用 JavaScript?
如果你碰巧知道一个插件可能有帮助,请指出。
谢谢
最佳答案
首先,您必须通过传递 enablejsapi=1
作为获取参数来确保您嵌入的 YouTube 播放器支持 javascript。以下是我如何使用 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
关于javascript - 使用 javascript 播放完 youtube flash 视频后捕获事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4733028/