Désactiver l'exécution automatique sur youtube api javascript
Je sais à propos de l'utilisation autoplay : 0 dans les paramètres et dans l'url. Le problème est quand j'utilise le loadVideoByID() fonction. La vidéo initiale semble toujours pas de démarrage automatique. mais au moment où je la charge dans la nouvelle vidéo que les nouvelles on démarre automatiquement. Je ne veux pas que les nouvelles de l'un à l'autostart soit
$(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");
}
});
- Que fait votre code ressemble? Pouvez-vous assurer que si nous pouvons vous aider?
Vous devez vous connecter pour publier un commentaire.
Par définition,
loadVideoById()
charge ET lit la vidéo. Ce que vous voulez utiliser estcueVideoById()
, qui va le préparer, mais attendre une commande à jouer réellement.https://developers.google.com/youtube/js_api_reference#cueVideoById
Je pense que ce post est très vieux, mais je vous ferais partager mon approche de toute façon, au cas où quelqu'un tombe sur elle, comme je viens de le faire:
Car il n'existe aucun moyen d'appeler
loadVideoById
et empêcher la lecture automatique, je suggère d'appeler ledestroy()
méthode sur le joueur et ré-instancier, avec le nouvel ID.Disons quelque chose comme:
J'espère que cela peut aider