Vimeo嵌入式视频中的额外文本

时间:2011-10-19 作者:endle.winters

对于我正在开发的WordPress站点,有一个jquery滑块(基于coda滑块),用于显示视频。所有视频都来自Vimeo。如果正在播放视频,而有人滑到下一个视频,则另一个视频将继续播放。我从Vimeo中找到了一些API代码,允许我控制视频,因此我可以向滑块按钮添加一个“暂停”类,当有人滑动到下一个视频时,该类将暂停视频。

然而为了实现这一点,我需要在iframe标记中添加一个id,并在视频播放器url的末尾添加这行代码:?api=1&player_id=player_1 (除player\\u 1应为唯一id外)

因此,最终输出应该如下所示(除了每个视频上的player\\u id号是唯一的):

<iframe id="player_1" src="http://player.vimeo.com/video/27421766?api=1&amp;player_id=player_1" width="670" height="377" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>    
我想知道是否有一个我可以创建的函数可以做到这一点。我知道WordPress中有一些嵌入代码的核心文件,但我不想弄乱它。

2 个回复
SO网友:Will Lanni

我使用each函数的索引添加了一个帧ID,然后在src中附加了所需的字符串:

jQuery(\'#video-gallery-list li.video-player\').each(function(i) {
    // set up a variable for the src that includes the new unique ID you\'re about to use
    var this_src = jQuery(this).find(\'iframe\').attr(\'src\') + \'?api=1&amp;player_id=player_\'+i;
    jQuery(this).find(\'iframe\').attr(\'ID\', \'player_\'+i).attr(\'src\',this_src);
});

SO网友:endle.winters

好吧,通过深入挖掘,我找到了一个有人为oembed类创建的补丁。WordPress中的php文件,允许向oEmbed发送其他参数(通常只能发送“宽度”和“高度”)。我在这里找到的补丁:http://core.trac.wordpress.org/attachment/ticket/16996/16996-2.diff
使用它可以将附加参数与URL一起发送,如下所示:

return $wp_embed->shortcode( array(\'width\' => $width, \'height\' => $height, \'api\' => 1, \'player_id\' => $postID), $videoURL );
我仍然没有找到返回iframe ID的方法,但我认为我可以解决这个问题,因为在我的特定实例中,我不需要在页面上选择一个特定的视频。。。我只需要创建一个按钮,将暂停所有正在运行的视频。

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。