web-dev-qa-db-fra.com

Youtube Javascript API - désactiver les vidéos associées

D'accord, cela semble être mal documenté ou je ne le vois pas dans la documentation. En gros, je ne veux aucune vidéo associée (?rel=0) utilisant l'API JavaScript.

$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
    height: '550',
    width: '840',
    videoId: $vidId
});

est ce que j'ai en place.

J'ai aussi essayé:

$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
    height: '550',
    width: '840',
    videoId: $vidId + '?rel=0',
    rel : 0
});

sans chance. Est-ce que quelqu'un connaît une option à ajouter (essayé rel : 0 sans chance)

59
Phil Jackson

"rel" est un paramètre de lecteur, comme spécifié ici:

https://developers.google.com/youtube/player_parameters#rel

Pour ajouter des paramètres de lecteur aux lecteurs iframe, vous devez spécifier la propriété playerVars du deuxième argument du constructeur (au moment de l'écriture, cela est documenté ici et sur la page de documentation de l'API IFrame ).

par exemple.

new YT.Player('playerid', {
    height: '550',
    width: '840',
    videoID: 'video_id',
    playerVars: {rel: 0, showinfo: 0, ecver: 2}
});
145
Tim Wintle

Le comportement du paramètre rel player a changé.

De la documentation ,

Le comportement du paramètre rel change à partir de septembre 25, 2018. L'effet de la modification est que vous ne pourrez pas désactiver les vidéos associées. Cependant, vous aurez l'option de en spécifiant que les vidéos associées affichées dans le lecteur doivent provenir de le même canal que la vidéo qui vient d'être jouée

Il n'est donc plus possible de désactiver les vidéos associées. À la place, playerVars: {rel:0} modifiera le comportement du lecteur et affichera les suggestions du canal spécifié.

10
user9568723

La solution acceptée ne fonctionnait pas pour moi. Qu'est-ce que le travail est: 

1) Mise en html de l'iframe incluant le paramètre rel 

<iframe id="youtube-video" width="560" height="315" 
 src="https://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1&rel=0&modestbranding=1" 
 frameborder="0" enablejsapi="1" allowfullscreen></iframe>

2) Utilisation de l'API javascript pour se connecter à ce lecteur existant

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('youtube-video', {
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

function onPlayerReady(event) {
    console.log("ready");
}

function onPlayerStateChange(event) {
    console.log("state changed");
}

démo violon: http://jsfiddle.net/bf7zQ/195/

3
hallman76

Si vous utilisez SWFObject, vous devez simplement faire quelque chose comme ceci:

function loadVideo() {
        var params = { allowScriptAccess: "always" }
            , atts = { id: "myvideo" }
        ;
//NOTE THE END OF THE BELOW LINE vvvvvv
        swfobject.embedSWF("https://www.youtube.com/v/[video id here]?enablejsapi=1&playerapiid=myvideo&version=3&rel=0"
         , "videoplaceholderid"
         , "768", "432", "8", null, null, params, atts);
    }

Ajoutez simplement rel=0 à la fin de votre URL.

1
Jason

new YT.Player('playerid', {
    height: '550',
    width: '840',
    videoID: 'video_id',
    playerVars: {rel: 0},
});

0
Sabin Acharya

Voici une solution rapide:

setInterval(function(){
    if($('iframe').length > 0){
        $('iframe').each(function(){
            if($(this).hasClass('gotYou')){
                //do nothing
            }else{
                var getMySrc = $(this).attr('src');
                var newSrc = getMySrc.split('?');
                console.log(newSrc);
                var freshURL = newSrc[0]+'?rel=0&'+newSrc[1];
                console.log(freshURL);
                $(this).addClass('gotYou');
                $(this).attr('src', freshURL );         
            }
        });
    }
}, 1);

Qu'est-ce qu'il fait, il cherche l'iframe dans votre document. S'il trouve l'iframe, il saisit le src de l'iframe, trouve la marque ? et remplace ensuite ? par ?rel=0&. Ici, l’objectif est de sortir rel=0

0
MD. Atiqur Rahman

Pas besoin de coder via l’API, il est maintenant facile de le faire en

You tube embed button -> Afficher plus -> Cochez l'option "Afficher les vidéos suggérées à la fin de la vidéo".