【问题标题】:Can someone provide a vimeo simple api working example (using the standard embed object, not froogaloop)?有人可以提供一个 vimeo 简单的 api 工作示例(使用标准嵌入对象,而不是 froogaloop)吗?
【发布时间】:2011-11-01 10:14:32
【问题描述】:

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 ?>&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" />
<embed src="http://vimeo.com/moogaloop.swf?clip_id=<?php echo $vimeo_id ?>&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" FlashVars="api=1" width="320" height="160"></embed>
</object>

【问题讨论】:

    标签: javascript api events vimeo ready


    【解决方案1】:

    终于做到了。所以我想分享:

    <div style="width:320px; height:180px" id="flashbox-30861939"></div>
    <script>
         //vimeo_player_loaded gets automatically called my the vimeo player
         //when it is ready
         function vimeo_player_loaded(id){
             //id is automatically passed
             var swfobj = document.getElementById(id);
             swfobj.api_play();//it works!!!
         }
    
         var swf = swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id=30861939&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0", "flashbox-30861939", "320", "180", "9.0.0","expressInstall.swf", { api:1, player_id:"flashbox-30861939" }, { allowfullscreen:true, allowscriptaccess:'always' });
    </script>
    

    所以,最后我使用了 swfobject(请在调用上面的代码之前将 swfobject.js 包含在页面中..)。

    在传递正确的 ID 时应该非常小心。另外,请注意 flash 变量:

    { api:1, player_id:"flashbox-30861939" }
    

    和参数:

    { allowfullscreen:true, allowscriptaccess:'always' }
    

    希望对您有所帮助。 顺便说一句,当然,在 id 之后调用 swfobject.embedSWF 不是强制性的。您可以像往常一样在文档的头部执行此操作。我这样做只是因为我的应用程序的一些要求。

    【讨论】:

    【解决方案2】:

    另外,当将 Moogaloop 与 JQuery(我猜是 Mootools)一起使用时,请确保 vimeo_video_loaded() 方法在脚本的 document.ready() 部分的外部,否则它不会是调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-25
      • 2012-10-25
      • 2011-04-03
      • 1970-01-01
      • 2021-10-31
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多