如何使用Vimeo的"player.js"在一个页面上处理多个玩家



>问题

我在一页上嵌入了多个Vimeo。它们每个都有自定义的、单独的 html 播放/暂停按钮来控制它们。

我认为最好的方法是创建一个播放器数组,然后从那里开始,使用一些jQuery。这样:

vimeoPlayers = [];
// Set up the players
$('.js-vid-player').each(function(){
iframe = $(this).find('iframe');
videoId = iframe.attr('id');
vimeoPlayers[videoId] = new Vimeo.Player(iframe);
});
// Handle the play buttons 
$('.js-vid-play').click(function(){
videoId = $(this).attr('data-video');   // Get the appropriate video we want to control.
vimeoPlayers[videoId].play();           // This works fine.
$(vimeoPlayers).each(function() {
// Ideally, I would like to pause all other videos here somehow, but I'm doing something wrong.
});
});

问题:

  1. 首先,这是正确的做法吗?将多个玩家放在一个数组中? Vimeo 文档似乎没有给出任何处理多个玩家的示例......否则我完全错过了它。
  2. 第二,如何一次控制所有玩家?例如,我在上面的代码中关于停止所有其他玩家的评论。

提前感谢!

一个不同的SO问题可能会有所帮助,因为它们提供了一个工作示例,说明他们如何在JSFiddle中做多个玩家。

在我的回答中,我谈到了我们的autopause功能。本质上,当多个玩家嵌入到一个位置时,默认的自动暂停行为是当其中一个玩家玩游戏时,所有其他玩家都将暂停。所以关于你的评论/第二个问题。这实际上是默认行为。

让我知道我是否可以在使用我们的 API 实现您的目标方面更有帮助。