我正在努力使用Vimeo的Froogaloop 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 :(得分:0)
由于API是异步的,因此无法同步返回值。如果您在结束前播放视频,我建议您使用finish
事件,而不是测试当前时间和持续时间。
这看起来像这样:
$f(playerID).addEvent('finish', function() {
// video has finished playing here
goToNextLevel();
});