2013-12-03 5 views
0

Я борюсь с API Froogaloop от Vimeo.vimeo API - Сохранять значение в переменной

Я работаю над сетевой игрой, и мне нужно, чтобы до того, как пользователь вышел на следующий уровень, он наблюдает за целым видео (не более 3 минут).

Я думал, что могу использовать цикл while, где до тех пор, пока значение текущего времени меньше, чем продолжительность видео, он продолжает получать текущее время для оценки. Когда значения совпадают, кнопка, которая ссылается на следующий уровень, разблокируется. Для этого мне нужно сохранить значения getCurrentTime и getDuration внутри переменных javascript.

До сих пор кажется легким, но, по-видимому, Froogaloop нуждается в функции обратного вызова с методами get, и я не могу их правильно сохранить в переменных.

function getDuration(playerID,value) { 
      Froogaloop(playerID).api('getDuration',function(dur) { 
        value(dur); 
       });  
      } 

      var durata = getDuration(playerID,function(value){ 
          var length = value; 
          return(length); 
         }); 
} 

Но таким образом переменная «durata» возвращает undefined. Я что-то пропустил?

Спасибо

ответ

0

Поскольку API является асинхронным, вы не можете вернуть значение синхронно. Если вы воспроизводите видео до конца, я бы рекомендовал использовать событие finish вместо проверки текущего времени и продолжительности.

Это будет выглядеть примерно так:

$f(playerID).addEvent('finish', function() { 
    // video has finished playing here 
    goToNextLevel(); 
}); 
Смежные вопросы