使用javascript播放youtube flash视频时捕捉事件

tid*_*dus 9 javascript flash jquery

我应该使用jquery创建一种youtube视频旋转器.我环顾四周,似乎没有适合要求的插件.甚至不是解决方案.

也许我会尝试做到这一点.那么现在,我如何确定youtube视频已完成播放并使用Jquery自动播放下一个视频,或者只是javascript?

如果你碰巧知道一个可能有帮助的插件,请指出.

谢谢

zai*_*ius 12

首先,你必须确保你嵌入的youtube播放器通过传递enablejsapi=1作为get参数来支持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});
Run Code Online (Sandbox Code Playgroud)

然后,您需要添加一个在播放器准备就绪时调用的全局函数,并在其中添加一个视频完成时的监听器:

    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);
      }
    };
Run Code Online (Sandbox Code Playgroud)

我为我的youtube播放列表书签编写了这段代码.如果你想要一个有效的例子,这里有一个链接:http://zaius.github.com/youtube_playlist/

如果您想要深入了解更多内容,请参阅youtube javascript参考资料,了解如何执行此操作:http://code.google.com/apis/youtube/js_api_reference.html