0

问题

我在一页上有多个 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. 第二,如何一次控制所有玩家?例如,我在上面的代码中关于停止所有其他玩家的评论。

提前致谢!

4

1 回答 1

0

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

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

如果我能在使用我们的 API 来实现您的目标方面提供更多帮助,请告诉我。

于 2018-08-29T16:47:59.530 回答