Vimeo 文档很差。我无法触发简单的 api 就绪事件。我研究了文档,但不清楚。我在论坛上发帖,但答案不清楚。如果我使用普通的嵌入标签(在这种情况下我必须这样做),它应该会自动触发 ready 事件并监听默认的 vimeo_player_loaded() 函数。它没有。或者至少它似乎没有这样做。
关于 ready 事件,文档明确指出:
“当播放器准备好接受命令时自动触发。在收到此事件之前不要尝试添加侦听器或调用函数。使用 Flash 嵌入代码时,播放器将尝试调用 vimeo_player_loaded()。”
所以????
顺便说一句,我的代码(视频正确嵌入但准备好的回调没有被执行):
<script>
function vimeo_player_loaded(id){
//doesn't log anything because ready event seems to not fire
console.log(document.getElementById(id).api_play);
}
</script>
<object width="320" height="160">
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="flashvars" value="api=1" />
<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=<?php echo $vimeo_id ?>&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=ffffff&fullscreen=1&autoplay=0&loop=0" />
<embed src="http://vimeo.com/moogaloop.swf?clip_id=<?php echo $vimeo_id ?>&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=ffffff&fullscreen=1&autoplay=0&loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" FlashVars="api=1" width="320" height="160"></embed>
</object>