ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 当播放另一个时,停止任何嵌入的YouTube iframe

2019-06-27 21:23:44  阅读:186  来源: 互联网

标签:javascript youtube youtube-api iframe youtube-iframe-api


我在我的页面中嵌入了大约10个YouTube iframe,所有这些都有自己的自定义播放/暂停按钮.我已经使用这个解决方案开始http://jsfiddle.net/buuuue/dzroqgj0/但我不知道如何调整这段代码来阻止正在播放的任何其他视频如果另一个开始…

function stopVideo(player_id) {
    if (player_id == "player1") {
        player2.stopVideo();
    } else if (player_id == "player2") {
        player1.stopVideo();
    }
}

例如,如果玩家1当前正在玩,并且玩家3被玩,我希望玩家1停止玩游戏.我也研究了这个解决方案https://stackoverflow.com/a/38405859/1798756,但我想我需要通过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是一个属性(string))

现在,当用户玩一个给定的玩家时,你必须暂停除了正在播放的玩家之外的所有其他游戏(你在stopVideo中获得的id).因为你有id,所以很容易

 function stopVideo(player_id) {
  for(var i=0;i<vids.length;i++){
    if (player_id !=vids[i].a.id)    
      vids[i].stopVideo();
  }
 }

示例: – http://jsfiddle.net/4t9ah1La/

如果您不是通过脚本创建播放器而是仅仅嵌入iframe,那么vbence提到的this答案就足够了,下面是Jennie建议改进的演示

示例: – http://jsfiddle.net/fyb7fyw1/

各个原作者的所有学分

标签:javascript,youtube,youtube-api,iframe,youtube-iframe-api
来源: https://codeday.me/bug/20190627/1308738.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有