【问题标题】:Javascript pause all other Vimeo VideosJavascript 暂停所有其他 Vimeo 视频
【发布时间】:2011-12-23 23:15:37
【问题描述】:

我想要它,这样当我播放一个 Vimeo 视频时,页面上的其他视频就会暂停。

我尝试使用 froogaloop API,但没有什么帮助。

使用当前代码,我让它工作,这样当我切换标签时,我可以暂停所有视频。现在我想做到这一点,当我播放一个视频时,其他视频会暂停。

目前,用于检测“播放”的事件侦听器无法正常工作。我认为这是因为它们需要在 $(document).ready() 中,但它们被困在第一个 <script> 区域中,封装在 $(function(){ }) 中,我认为这会阻止它进行交互。

代码可以在这里找到:www.proclinica.com/preview

这是我为控制 vimeo 而修改的代码,您可以在这里看到事件监听器的工作:http://jsfiddle.net/GxwEX/5/

至少有人可以帮我让事件侦听器在 proclinica 网站上工作吗?

【问题讨论】:

  • Stack Overflow 问题是免费回答的,如果您想为代码提供资金,请使用其他网站。
  • 很抱歉我不知道,我接受了付款的提议。请原谅。

标签: javascript jquery api vimeo


【解决方案1】:

首先,我不确定您尝试执行的操作是否行不通。在您的代码中(在您的网站上),您有:

$('.client_logo').click(function() {
    post('pause');
});

当我点击其中一个徽标时,任何正在播放的视频似乎都可以暂停。

如果您尝试在用户启动另一个视频时暂停所有正在播放的视频;我认为我在您的代码中(无论是在 JSFiddle 中还是在网站上)中都没有看到您尝试这样做的地方。如果你有;你能告诉我们你到目前为止所做的尝试吗?

最后,至少要回答您问题的一部分……$(...) 实际上只是$(document).ready(...) 的一个不错的捷径。

编辑:

来自documentation

如果您在一个页面上嵌入和控制多个播放器,您可以给每个播放器一个player_id 以区分它们:

http://player.vimeo.com/video/VIDEO_ID?api=1&player_id=vimeoplayer

如果您已设置,则此 player_id 将传递给任何事件侦听器,如下所示:

function onMessageReceived(e) {
    var data = JSON.parse(e.data);
    var player_id = e.player_id;

    // Do stuff
}

您可以使用它来确定启动了哪个视频,并在暂停其他视频后重新启动它。

【讨论】:

  • 非常感谢您的回复——我终于让事件监听器工作了。现在,当您单击播放按钮时,函数 onmessagerecieved() 会检测是否存在“播放”事件,如果有,它会运行 post('pause') 暂停每个视频,包括当前视频。我不知道如何排除我点击的那个。你能帮忙吗?
猜你喜欢
  • 2013-12-12
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
相关资源
最近更新 更多