Как захватить начало видео на Youtube с помощью JavaScript API

Язык программирования: 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 должен запускаться, как только я нажимаю кнопку воспроизведения второго видео, но этого не происходит.

Может ли кто-нибудь сказать мне, где я делаю неправильно или как-то еще, чтобы захватить начало видео?


person MNVR    schedule 05.04.2011    source источник
comment
Вы когда-нибудь находили решение?   -  person Jiloc    schedule 05.03.2015


Ответы (1)


Вы проверили http://code.google.com/apis/youtube/js_api_reference.html#Playback_status ?

как насчет setTimeout проверки player.getPlayerState()?

person Matijs    schedule 05.04.2011
comment
player.getPlayerState() дает статус видео, т.е. Незапущено, Воспроизводится, Приостановлено или Завершено. Мне нужно проверить, запустил ли пользователь видео или нет. Если у меня есть одно видео, мой код выше работает отлично, но у меня есть несколько видео на одной странице. - person MNVR; 05.04.2011