Question

Je sais que sur l'utilisation de la lecture automatique :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");

}

});

Était-ce utile?

La solution

Par définition, loadVideoById() les charges ET lit la vidéo.Ce que vous voulez utiliser est cueVideoById(), qui va le préparer, mais attendre une commande à jouer réellement.

https://developers.google.com/youtube/js_api_reference#cueVideoById

Autres conseils

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:

Depuis il n'y a aucun moyen de l'appel de loadVideoById et d'empêcher la lecture automatique, je suggère d'appeler le destroy() méthode sur le joueur et ré-instancier, avec la nouvelle carte d'identité.

Disons quelque chose comme:

$(document).ready(function() {
var player;
var playerParams = {
    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.onYouTubePlayerAPIReady = function() {
    player = new YT.Player('player', playerParams);

};

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.destroy();
    playerParams.videoId = vidID;
    player = new YT.Player('player', playerParams);

}
});

J'espère que cela peut aider

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top