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

时间:2018-08-29 03:48:19

标签: jquery video vimeo embedded-video

问题

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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