2012-06-10 14 views
18

Para un video determinado en YouTube, puede visitar http://youtube.com/watch?v=[code] en cualquier dispositivo iOS para ver el video.Hacer que las URL de youtube.com/embed funcionen en iOS

Sin embargo, si usa la URL http://youtube.com/embed/[code], por ejemplo, en un iframe en una página o en un modal Colorbox, no se reproducirá en iOS.

Por ejemplo, si se utiliza un código como éste:

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

que acaba de ver un error:

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

Para colmo de males, el enlace no se puede hacer clic en iOS, así que no sé a qué página va. Hay un HTML5 page on YouTube, pero no dice nada particularmente útil o sorprendente.

¿Existe una sintaxis que pueda ser para incrustación de iframes que funciona como se espera en iOS?

+0

iPhone utiliza h264 para vídeo HTML5. ¿Funcionan algunos otros clips? ¿Quizás tienes material que youtube no ha codificado para h264? –

+0

Tengo el mismo problema. Estoy mostrando videos de YouTube en un modal [Colorbox] (http://www.jacklmoore.com/colorbox), usando la versión/insert/[código] de la URL de YouTube. No se muestra ningún video en todo YouTube cuando utiliza esa/inserción/[código] URL, incluso si la visita directamente en Safari. Sin embargo, si vas a la URL/watch? V = [code], puedes verla bien. Este es un gran error de showtopping para nosotros en este momento. –

+0

Al hacer clic en el enlace "Flash/Video (Iframe/Direct Link to YouTube)" en la [página de demostración de ColorBox] (http://www.jacklmoore.com/colorbox/example1/), ¿funciona para usted? Se reproduce correctamente en mi iPhone (iOS 5.1.1). –

Respuesta

23

Prueba esto, simplemente funciona:

<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> 

Editar: Funciona porque Apple sustituye a la etiqueta html con un reproductor de películas nativo integrado que puede reproducir el vídeo de youtube.

+1

No estoy seguro de que intentar usar el reproductor * flash * sea una solución para * iOS *. – blahdiblah

+2

@blahdiblah Bueno, ¿lo intentaste? En realidad, funciona porque Apple reemplaza esta etiqueta html con un reproductor nativo de películas incrustado que puede reproducir el video. Pruébalo y ve :) – Hejazi

+3

Bueno, coloreame sorprendido. TIL. – blahdiblah

2

Considere el uso de MediaElement.js. Puede envolver videos de youtube para que se muestren como html5 en ios, con recuperación de flash para otros dispositivos/tipos de navegadores.

Una de las demostraciones que se proporcionan con la fuente de muestra de esto, y es bastante simple:

<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> 
Cuestiones relacionadas