2012-06-10 7 views
18

Per un determinato video su YouTube, è possibile visitare http://youtube.com/watch?v=[code] su qualsiasi dispositivo iOS per vedere il video.Creazione di URL youtube.com/embed su iOS

Tuttavia, se si utilizza l'URL http://youtube.com/embed/[code], ad esempio in un iframe su una pagina o in un modal Colorbox, non verrà riprodotto su iOS.

Per esempio, se si utilizza il codice in questo modo:

<iframe class="youtube-player" type="text/html" width="640" height="385" src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0"> 

basta vedere un errore:

Your browser does not currently recognize any of the video formats available. Click here to visit our frequently asked questions about HTML5 video.

Per aggiungere la beffa al danno, il link non è cliccabile su iOS, quindi non so a quale pagina andare. C'è un HTML5 page on YouTube, ma non dice nulla di particolarmente utile o sorprendente.

C'è una sintassi che può essere per l'incorporamento di iframe che funziona come previsto su iOS?

+0

iPhone utilizza H264 per il video HTML5. Alcune altre clip funzionano? Forse hai materiale che YouTube non ha codificato per h264? –

+0

Ho lo stesso problema. Sto visualizzando video di YouTube in modal [Colorbox] (http://www.jacklmoore.com/colorbox), utilizzando la versione/embed/[codice] dell'URL di YouTube. Nessun video su tutto YouTube funziona quando si utilizza l'URL/embed/[code], anche se lo si visita direttamente in Safari. Se si visita l'URL/watch? V = [code], tuttavia, è possibile visualizzarlo correttamente. Questo è un bug importante per noi in questo momento. –

+0

Quando si fa clic sul collegamento "Flash/Video (Iframe/Collegamento diretto a YouTube)" sulla [pagina demo ColorBox] (http://www.jacklmoore.com/colorbox/example1/), funziona per voi? Funziona correttamente sul mio iPhone (iOS 5.1.1). –

risposta

23

Prova questo, funziona solo:

<object> 
    <param name="movie" value="http://www.youtube.com/v/[VIDEO_ID]"></param> 
    <embed src="http://www.youtube.com/v/[VIDEO_ID]" type="application/x-shockwave-flash"></embed> 
</object> 

Edit: Funziona perché Apple sostituisce il tag HTML a un lettore video nativo integrato in grado di riprodurre il video youtube.

+1

Non sono sicuro che provare ad usare il lettore * flash * sarà una soluzione per * iOS *. – blahdiblah

+2

@blahdiblah Beh, ci hai provato? Funziona in realtà perché Apple sostituisce questo tag html con un lettore di film nativo incorporato in grado di riprodurre il video. Basta provarlo e vedere :) – Hejazi

+3

Beh, colora mi sorprende. TIL. – blahdiblah

2

Considerare l'utilizzo di MediaElement.js. Può avvolgere i video di youtube per la visualizzazione come html5 su iOS, con fallback flash per altri tipi di dispositivo/browser.

Una delle dimostrazioni che vengono forniti con la sorgente mostra questo, ed è abbastanza semplice:

<video width="640" height="360" id="player1"> 
    <source type="video/youtube" src="http://www.youtube.com/watch?v=nOEw9iiopwI" /> 
</video> 

<script> 
    $('video').mediaelementplayer({ 
     success: function(media, node, player) { 
      $('#' + node.id + '-mode').html('mode: ' + media.pluginType); 
    } 
    }); 
</script>