2013-06-21 18 views
25

Quando imposto il gioco automatico su vero per un video di YouTube (IFrame API) sul mio sito, non funziona. Tutta la documentazione dice che Apple disabilita l'autoplay su iOS per motivi di larghezza di banda.Come riprodurre automaticamente i video su iOS su youtube.com

Tuttavia, vedo che i video vengono riprodotti automaticamente (senza fare clic sull'elemento del video) su youtube.com su iPad. Come ha fatto YouTube a farlo funzionare? Sarebbe difficile immaginare che Apple faccia qualcosa di speciale solo per YouTube.

+0

Non un duplicato. L'OP sta chiedendo perché l'autoplay sembra funzionare se si visita la home page di youtube.com su iOS (lo fa anche per me). –

risposta

-3

Non è possibile. Per vari motivi (incluso, ma non limitato all'utilizzo dei dati), Apple non consente la riproduzione automatica dei video.

prega di fare riferimento a:

Youtube embedded video: autoplay feature not working in iphone

+4

Questo non risponde alla domanda e non è un duplicato. L'OP sta chiedendo perché il gioco automatico * sembra funzionare se si visita la home page di youtube.com su iOS (lo fa anche per me). – mpobrien

4

Sembra che la squadra di YouTube utilizza l'interazione dell'utente quando rubinetti/fa clic su un pulsante Video per autorizzare la riproduzione.

Ricorda che youtube.com è una SPA (Applicazione pagina singola), quindi non è necessario ricaricare o reindirizzare la pagina.

Quindi, youtube.com non ha la riproduzione automatica abilitata.

+0

Quindi stanno manipolando il DOM e l'URL per farlo sembrare come se ci si stesse spostando tra pagine diverse? –

+2

Sì, con javascript semplice e gestione della navigazione con "cronologia pushState". Leggi questo per maggiori informazioni sulla riproduzione automatica: http://stackoverflow.com/questions/29894406/initialize-videojs-from-dummy-element-using-require-js –

-2

Non l'ho provato, ma potresti essere in grado di utilizzare Javascript e chiamare la funzione di riproduzione per il lettore, o anche solo fare clic sull'elemento quando la pagina è stata caricata.

2

È possibile farlo con javascript.

Ecco un esempio:

<div class="video-container"> 
    <div id="player"> </div> <!--<iframe width="960" height="720" src="//www.youtube.com/embed/5YptIh_avrM?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>--> 

</div> 

<script> 
    // 2. This code loads the IFrame Player API code asynchronously. 
    var tag = document.createElement('script'); 

    tag.src = "https://www.youtube.com/iframe_api"; 
    var firstScriptTag = document.getElementsByTagName('script')[0]; 
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

    // 3. This function creates an <iframe> (and YouTube player) 
    // after the API code downloads. 
    var player; 
    function onYouTubeIframeAPIReady() { 
    player = new YT.Player('player', { 
     height: '720', 
     width: '960', 
     videoId: 'YOUR_ID_HERE', 
     events: { 
     'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange 
     } 
    }); 
    } 



    // 4. The API will call this function when the video player is ready. 
    function onPlayerReady(event) { 
    event.target.playVideo(); 
    event.target.setVolume(20); 
    } 

    // 5. The API calls this function when the player's state changes. 
    // The function indicates that when playing a video (state=1), 
    // the player should play for six seconds and then stop. 
    var done = false; 
    function onPlayerStateChange(event) { 

    } 
    function stopVideo() { 
    player.stopVideo(); 
    } 
</script> 
+0

Testato per questo e non funziona in Safari su iOS 9.1 e Chrome su iOS 9.1 Vedere la risposta di Aitor Aznar Álvarez su come YouTube esegue sulla propria versione mobile. – Gumbah

+0

Odio seriamente ios 9.1 .. grazie per il commento, al momento di scrivere ios funzionava ancora ma questo era prima di questo "downgrade". –

+0

Funziona su un laptop/desktop browser. Non funziona su browser iOS mobile. Potrebbe o potrebbe non funzionare su Android. – mjwunderlich

Problemi correlati