Pregunta

Sé cómo usar la reproducción automática:0 en parámetros y en url.El problema es cuando uso la función loadVideoByID().El vídeo inicial parece no siempre iniciarse automáticamente.pero en el momento en que cargo un nuevo video, ese nuevo se inicia automáticamente.Tampoco quiero que ese nuevo se inicie automáticamente.

$(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");

}

});

¿Fue útil?

Solución

Por definición, loadVideoById() carga y reproduce el video.Lo que quiere usar es cueVideoById(), que lo preparará, pero espere a que juegue un comando.

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

Otros consejos

Creo que esta publicación es muy antigua, pero compartiría mi enfoque de todos modos, en caso de que alguien la encuentre, como acabo de hacer:

ya que no hay manera de llamar loadVideoById y evitar la reproducción automática, sugeriría llamar al destroy() método en el reproductor y vuelva a crear una instancia con el nuevo ID.

Digamos algo como:

$(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);

}
});

Espero que esto pueda ayudar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top