YouTube Iframe incorpora la riproduzione automatica

Sto cercando di incorporare la nuova versione iframe di un video di YouTube e farlo riprodurre automaticamente.

Per quanto ne so, non c’è modo di farlo modificando i flag sull’URL. C’è un modo per farlo usando javascript e l’API?

Funziona su Chrome ma non su Firefox 3.6 (avviso: video RickRoll):

 

L’ API JavaScript per incorporamenti iframe esiste, ma è ancora pubblicata come funzionalità sperimentale.

AGGIORNAMENTO: l’API iframe è ora completamente supportata e “Creazione degli oggetti YT.Player – Esempio 2” mostra come impostare “autoplay” in JavaScript.

Il codice incorporato di YouTube è distriggersto automaticamente per impostazione predefinita. Aggiungi semplicemente autoplay=1 alla fine dell’attributo “src”. Per esempio:

  

L’iframe 2014 incorpora come incorporare un video di YouTube con autoplay e nessun video suggerito alla fine del clip

 rel=0&autoplay 

Esempio di seguito:.

  

alla fine di iframe src, aggiungi &enablejsapi=1 per consentire l’utilizzo dell’API js sul video

e poi con jquery:

 jQuery(document).ready(function( $ ) { $('.video-selector iframe')[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*'); }); 

questo dovrebbe riprodurre il video automaticamente su document.ready

nota che puoi anche usare questo all’interno di una funzione click per fare clic su un altro elemento per avviare il video

Ancora più importante, non è ansible avviare automaticamente i video su un dispositivo mobile in modo che gli utenti debbano sempre fare clic sul video player per avviare il video

Edit: In realtà non sono sicuro al 100% su document.ready l’iframe sarà pronto, perché YouTube potrebbe ancora caricare il video. In realtà sto usando questa funzione all’interno di una funzione click:

 $('.video-container').on('click', function(){ $('video-selector iframe')[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*'); // add other code here to swap a custom image, etc }); 

I flag o i parametri che è ansible utilizzare con gli incorporamenti IFRAME e OBJECT sono documentati qui; i dettagli su quale parametro funziona con quel giocatore sono anche chiaramente menzionati:

Player integrati di YouTube e parametri del giocatore

Noterai che l’ autoplay è supportato da tutti i giocatori (AS3, AS2 e HTML5).

Suggerimento di domande multiple per coloro che non lo sanno (passato e futuro me)

Se stai facendo una singola query con l’url giusto ?autoplay=1 funziona come mostrato dalla risposta di mjhm

  

Se stai facendo più domande ricorda che il primo inizia con un ? mentre il resto inizia con un &

Supponi di voler distriggersre i video correlati, ma abilitare la riproduzione automatica …

Questo funziona

  

e questo funziona

  

Ma questi non funzioneranno ..

   

confronti di esempio

https://jsfiddle.net/Hastig/p4dpo5y4/

Ulteriori informazioni

Leggi la risposta di NextLocal di seguito per ulteriori informazioni sull’utilizzo di più stringhe di query

Dall’aprile 2018, Google ha apportato alcune modifiche alla norma di Autoplay . Quindi dovrai fare qualcosa del genere:

  

Per usare javascript api,

  
You need Flash player 8+ and JavaScript enabled to view this video.

Per riprodurre il youtube con l’id:

 swfobject.embedSWF 

riferimento: https://developers.google.com/youtube/js_api_reference magazine

1 – aggiungi &enablejsapi=1 a IFRAME SRC

2 – Funzione jQuery:

  $('iframe#your_video')[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*'); 

Funziona bene

Per avere la risposta accettata da mjhm su Chrome 66 a maggio 2018, ho aggiunto allow=autoplay enable_js=1 e enable_js=1 alla stringa di query:

  
  

Agosto 2018 Non ho trovato un esempio funzionante sull’implementazione dell’iframe. Altre domande riguardavano solo Chrome, che le ha dato un po ‘di differenza.

Per triggersre la riproduzione automatica su Chrome, devi distriggersre l’audio per distriggersre l’audio mute=1 . FF e IE sembrano funzionare bene usando autoplay=1 come parametro.