如何使用JavaScript API捕获Youtube视频

时间:2011-04-05 18:19:08

标签: javascript youtube-api dom-events

编程语言:Javascript和Youtube Javascript API
问题: 一个网站使用Javascript API在其上放置了多个YouTube视频。用户开始观看视频后立即呼叫/报告其他功能 到目前为止的代码:

var youTubePlayerLoggers = {};
function onYouTubePlayerReady(playerId) {
    var video = document.getElementById(playerId);
    youTubePlayerLoggers[playerId] = function (newState) {            
            if (newState == 1) {
              if (video && video.getDuration) {
                if (video.getCurrentTime() == 0) {                  
                  UserStartedVideo('param1', 'param2');
                }          
               }
            }
          };
     video.addEventListener('onStateChange', 'youTubePlayerLoggers.' + playerId);
     video.addEventListener('onError', 'onPlayerError');
        }

function UserStartedVideo(param1,param2){
}

在代码的第5行,我正在检查newState == 1(即用户是否点击了播放按钮),然后是video.getCurrentTime == 0 - >这是用户视频的开始。

问题我有: 我在网站上有多个视频。当我点击第一个视频的播放按钮时,会触发UserStartedVideo方法。同样,只要我点击第二个视频的播放按钮就应该触发UserStartedVideo方法,但是没有发生。

任何人都可以告诉我我在哪里做错了或者其他什么方法来捕捉视频的开头?

1 个答案:

答案 0 :(得分:0)

您检查过http://code.google.com/apis/youtube/js_api_reference.html#Playback_status吗?

如何检查player.getPlayerState()的setTimeout?