Deaktivieren Sie die automatische Wiedergabe in der YouTube-Javascript-API
-
02-01-2020 - |
Frage
Ich kenne die Verwendung von Autoplay:0 in Parametern und in der URL.Das Problem tritt auf, wenn ich die Funktion „loadVideoByID()“ verwende.Das erste Video scheint immer nicht automatisch zu starten.Aber sobald ich ein neues Video lade, wird das neue automatisch gestartet.Ich möchte auch nicht, dass das neue automatisch startet
$(document).ready(function() {
var player;
window.onYouTubePlayerAPIReady = function() {
player = new YT.Player('player', {
height : '390',
width : '640',
videoId : 'JW5meKfy3fY',
playerVars : {
'autoplay' : 0,
'rel' : 0,
'showinfo' : 0,
'egm' : 0,
'showsearch' : 0,
'controls' : 0,
'modestbranding' : 1,
},
events : {
'onReady' : onPlayerReady,
'onStateChange' : onPlayerStateChange
}
});
};
window.onPlayerReady = function(event) {
//event.target.playVideo();
loadNewVid("bHQqvYy5KYo");
};
window.onPlayerStateChange = function(event, element) {
//When the video has ended
if (event.data == YT.PlayerState.ENDED) {
//Get rid of the player
element.style.display = "none";
}
};
function loadNewVid(vidID){
player.loadVideoById(vidID, "large");
}
});
Lösung
Per Definition, loadVideoById()
lädt das Video und spielt es ab.Was Sie verwenden möchten, ist cueVideoById()
, wodurch es vorbereitet wird, aber darauf gewartet wird, dass ein Befehl tatsächlich abgespielt wird.
https://developers.google.com/youtube/js_api_reference#cueVideoById
Andere Tipps
Ich rechne mich um diesen Beitrag ist sehr alt, aber ich würde trotzdem meinen Ansatz teilen, falls jemand darauf stolpert, wie ich es einfach getan habe:
Da es keine Möglichkeit gibt, generakodicetagcode aufzurufen und Autoplay zu verhindern, würde ich vorschlagen, die generationspflichtige Methode des generationstabellen auf dem Player aufzurufen und sie mit der neuen ID neu zu integrieren.
Lassen Sie uns etwas sagen:
generasacodicetagpre.Ich hoffe das kann helfen,