如何捕捉Youtube视频开始使用JavaScript API

How to Capture Youtube Video Start Using JavaScript API

本文关键字:JavaScript API 开始 何捕捉 Youtube 视频      更新时间:2023-09-26

编程语言: Javascript和Youtube Javascript API
问题:一个网站有多个youtube视频放置在它使用Javascript API。当用户开始观看视频时,立即呼叫/报告其他功能。

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(即用户已点击播放按钮),那么如果视频。getCurrentTime ==0 ->是用户指定的视频开始时间。

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

谁能告诉我我在哪里做错了或任何其他方式来捕捉视频的开始?

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

如何设置setTimeout检查player.getPlayerState() ?