2012-10-17 8 views
5

Sto provando a caricare un video sulla mia pagina utilizzando l'API di YouTube.È possibile utilizzare il modestbranding con youtube-api?

Youtube specifica che è possibile abilitare il "marchio modesto" (ovvero la rimozione dei loghi di youtube) aggiungendo il parametro "& modestbranding = 1" all'URL di incorporamento.

Il problema che sto avendo è che la nuova API di YouTube incorpora il video utilizzando javascript per esempio:

player = new YT.Player('player', { 
    height: videoHeight, 
    width: videoWidth, 
    videoId: videoID,   
    events: { 
     'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange 
    } 
    }); 

Questo genera lo script iframe rilevante, però mi piacerebbe essere in grado di specificare modesto di branding all'interno di questi parametri. Ho provato ad aggiungere un parametro aggiuntivo:

modestbranding: 1 

e

modestbranding: '1' 

ma sembra non avere alcun effetto.

mi rendo conto che una possibilità sarebbe quella di afferrare l'URL incorporato dallo script resa finale e poi aggiungere il parametro sul src:

<iframe frameborder="0" allowfullscreen="" id="player" title="YouTube video player" height="368" width="640" src="http://www.youtube.com/embed/<id>?enablejsapi=1"></iframe> 

Tuttavia avrei pensato youtube avrebbe in qualche modo permettere di specificare il parametro piuttosto che dover utilizzare alcuni hack sporchi.

Qualcuno sa come posso fare questo?

risposta

12

modestbranding è un player var e quindi dovrebbe essere aggiunto con l'attributo `playerVars '. I dettagli possono essere trovati sui documenti dello sviluppatore. https://developers.google.com/youtube/iframe_api_reference

Ecco un esempio su come includere modestedbranding o altri player vars.

player = new YT.Player('player', { 
    playerVars: { 
    modestbranding: true 
    }, 
    height: videoHeight, 
    width: videoWidth, 
    videoId: videoID,   
    events: { 
    'onReady': onPlayerReady, 
    'onStateChange': onPlayerStateChange 
    } 
}); 
+0

Grazie Greg, non riuscivo a trovare nulla quando stavo cercando! Scarsa tecnica di ricerca :-) – alimac83

+0

Youtubeplayer = new YT.Player ('YTPlayer', { altezza: "100%", Larghezza: '100%', videoId: VideoId, playerVars: {autoplay: 1, showinfo: 0, playsinline: 1, autohide: 1, i controlli : 0, disablekb: 1, enablejsapi: 1, fs: 0, modestbranding: true, rel: 0, inizio: ytinit, finali: ytend}, eventi: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); – hamboy75

+0

utilizzando che non funziona per me, forse è stato rimosso da youtube? – hamboy75

1

Dopo alcuni test

Se si imposta showinfo a 0 allora si ottiene il logo di YouTube, anche se modesbranding è vero.

Non c'è modo di lasciare il video completamente libero sembra.

Questo mostrerà il logo, ma non il titolo

Youtubeplayer = new YT.Player('ytplayer', 
    { 
     height: "100%", 
     width: '100%', 
     videoId: videoid, 
     playerVars: { 
      autoplay: 1, controls: 0, modestbranding: true, showinfo: 1 
     }, 
     events: 
     { 
      'onReady': onPlayerReady, 
      'onStateChange': onPlayerStateChange 
     } 
    }); 

Questo mostrerà il titolo, ma non il logo

Youtubeplayer = new YT.Player('ytplayer', 
    { 
     height: "100%", 
     width: '100%', 
     videoId: videoid, 
     playerVars: { 
      autoplay: 1, controls: 0, modestbranding: true, showinfo: 0 
     }, 
     events: 
     { 
      'onReady': onPlayerReady, 
      'onStateChange': onPlayerStateChange 
     } 
    }); 
Problemi correlati