Javascript 播放其他YouTube iframe时停止任何嵌入的YouTube iframe

Javascript 播放其他YouTube iframe时停止任何嵌入的YouTube iframe,javascript,iframe,youtube,youtube-api,youtube-iframe-api,Javascript,Iframe,Youtube,Youtube Api,Youtube Iframe Api,我在我的页面中嵌入了大约10个YouTube iFrame,它们都有自己的自定义播放/暂停按钮。我已经使用这个解决方案开始,但我不知道如何调整这段代码,以停止任何其他正在播放的视频,若另一个开始 function stopVideo(player_id) { if (player_id == "player1") { player2.stopVideo(); } else if (player_id == "player2") { player1.

我在我的页面中嵌入了大约10个YouTube iFrame,它们都有自己的自定义播放/暂停按钮。我已经使用这个解决方案开始,但我不知道如何调整这段代码,以停止任何其他正在播放的视频,若另一个开始

function stopVideo(player_id) {
    if (player_id == "player1") {
        player2.stopVideo();
    } else if (player_id == "player2") {
        player1.stopVideo();
    }
}
例如,如果播放器1当前正在播放,而播放器3正在播放,我希望播放器1停止播放。我也研究过这个解决方案,但我认为我需要通过JS创建播放器,这样我也可以创建自定义的播放/暂停按钮


提前感谢您的帮助

创建玩家后,将他们推到阵列上

    var vids =[];
    player1 = new YT.Player('player1', {
     //stuff
    });
    vids.push(player1);

    player2 = new YT.Player('player2', {
     // stuff
    });
    vids.push(player2);

    ....
    ..
    playerN = new YT.Player('playerN', {
     // stuff
    });
    vids.push(playerN);
每个玩家对象的id都可以通过其
a.id
属性访问(
a
本身就是一个对象,
id
是一个属性(字符串))

现在,当用户播放给定的播放器时,您只需暂停除正在播放的播放器(您在
停止视频中获得的id)之外的所有其他播放器。因为您有id,所以很容易

 function stopVideo(player_id) {
  for(var i=0;i<vids.length;i++){
    if (player_id !=vids[i].a.id)    
      vids[i].stopVideo();
  }
 }
功能停止视频(播放器id){

对于(var i=0;i可能重复是的,正如我在文章中提到的,我已经研究过该解决方案,但我正在尝试添加2个以上的YouTube iFrame,但不太确定最好的方法。使用类而不是idI。对不起,你能更具体一点吗?我对这方面非常业余,希望通过该解决方案了解更多。你知道什么使用class而不是id solve for?这太好了!非常感谢!我相信我必须通过脚本创建播放器,以便可以附加自定义播放/暂停按钮。或者我错了吗?是的,您可以使用任何一种方法。对于基于脚本的播放器,它只是
player1.playVideo();
player1.pauseVideo()
。但是如果你嵌入了你自己,那么你可以使玩家数组成为全局的,并在任何与你的按钮角色相匹配的玩家上调用函数。这是另一个很好的解决方案!非常感谢解释创建一个函数来处理传递你的按钮引用及其关联的玩家的内容。在函数中检查playing/提示/结束状态,如