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

问题描述 投票:0回答:1

问题

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

提前致谢!

jquery video vimeo embedded-video
1个回答
0
投票

一个不同的SO Question可能会有所帮助,因为他们提供了他们如何在JSFiddle中做多个球员的工作示例。

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

如果我能更有助于使用我们的API来实现您的目标,请告诉我们。

© www.soinside.com 2019 - 2024. All rights reserved.