gpt4 book ai didi

javascript - 如何在自动播放时将多个 youtube 视频静音?

转载 作者:行者123 更新时间:2023-11-29 23:53:26 24 4
gpt4 key购买 nike

如何在自动播放时将多个 YouTube 视频静音?

我的代码:

    <iframe id="ytplayer0" src="https://www.youtube.com/embed/ab0TSkLe-E0?controls=1&showinfo=0&rel=0&enablejsapi=1" frameborder="0" allowfullscreen></iframe>

<script>
// http://jsfiddle.net/BFDKS/966/
// http://stackoverflow.com/questions/24868226/how-do-you-mute-an-embedded-youtube-player
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');

tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;

function onYouTubeIframeAPIReady() {
player = new YT.Player('ytplayer0', {
events: {
'onReady': onPlayerReady
}
});
}

function onPlayerReady() {
player.playVideo();
// Mute!
player.mute();
}
</script>

<iframe id="ytplayer1" src="https://www.youtube.com/embed/QVGeilNsJFU?controls=1&showinfo=0&rel=0&enablejsapi=1" frameborder="0" allowfullscreen></iframe>

<script>
var tag = document.createElement('script');

tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;

function onYouTubeIframeAPIReady() {
player = new YT.Player('ytplayer1', {
events: {
'onReady': onPlayerReady
}
});
}

function onPlayerReady() {
player.playVideo();
// Mute!
player.mute();
}
</script>

结果:

它只会静音并自动播放第二个...

有什么想法吗?

jsfiddle

最佳答案

您可能想创建两个玩家,但是 onYouTubeIframeAPIReady只会被调用一次。正在申请 this method ,你可以这样做:

Javascript(在 <head></head> 中):

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var players = new Array();
var players_attr = new Array();

players_attr["ytplayer0"] = {
events: {
'onReady': onPlayer1Ready
}
};
players_attr["ytplayer1"] = {
events: {
'onReady': onPlayer2Ready
}
};

function onYouTubeIframeAPIReady() {
for (key in players_attr) {
players[key] = new YT.Player(key, players_attr[key]);
}
}

function onPlayer1Ready() {
players["ytplayer0"].playVideo();
players["ytplayer0"].mute();
}

function onPlayer2Ready() {
players["ytplayer1"].playVideo();
players["ytplayer1"].mute();
}

HTML:

<iframe id="ytplayer0" src="https://www.youtube.com/embed/ab0TSkLe-E0?controls=1&showinfo=0&rel=0&enablejsapi=1" frameborder="0" allowfullscreen></iframe>

<iframe id="ytplayer1" src="https://www.youtube.com/embed/QVGeilNsJFU?controls=1&showinfo=0&rel=0&enablejsapi=1" frameborder="0" allowfullscreen></iframe>
  • players数组包含玩家对象
  • players_attr包含玩家属性的数组

两个数组的键都是玩家名称,例如 ytplayer0 & ytplayer1

你可以找到一个 fiddle here

关于javascript - 如何在自动播放时将多个 youtube 视频静音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42242147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com