Estoy intentando codificar un sitio en GWT que reproduce videos con HTML5. Todo funciona muy bien en el escritorio, pero Safari móvil tanto en el iPhone como en el iPad no reproduce el video.GWT y video HTML5 en Mobile Safari
Puedo reproducir un video usando Video for Everybody. Incluso he copiado el código en mi propia página HTML simple, y funciona sin problemas. Si sirvo el mismo código a través de un widget de GWT, el safari móvil no reproducirá el video. En el iPhone veo una caja gris con un letrero prohibitorio alrededor del botón de reproducción, y en el iPad aparece como una caja negra.
Me he asegurado de que mi doctype sea <!DOCTYPE html>
, pero no sé dónde más para comenzar la depuración. Tal vez es porque el código se inyecta a través de javascript? Cualquier sugerencia sobre dónde empezar a buscar sería muy apreciada.
Aquí es el código exacto que estoy usando para el video:
<!-- "Video For Everybody" by Kroc Camen. see <camendesign.com/code/video_for_everybody> for documented code
=================================================================================================================== -->
<video width="640" height="360" poster="poster.jpg" controls autoplay>
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4"></source>
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.ogv" type="video/ogg"></source>
<!--[if gt IE 6]>
<object width="640" height="375" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"><!
[endif]--><!--[if !IE]><!-->
<object width="640" height="375" type="video/quicktime" data="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4">
<!--<![endif]-->
<param name="src" value="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" />
<param name="autoplay" value="true" />
<param name="showlogo" value="false" />
<object width="640" height="384" type="application/x-shockwave-flash"
data="player.swf?autostart=true&image=poster.jpg&file=http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4">
<param name="movie" value="player.swf?autostart=true&image=poster.jpg&file=http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" />
<!-- fallback image -->
<img src="poster.jpg" width="640" height="360" alt="Big Buck Bunny"
title="No video playback capabilities, please download the video below" />
</object><!--[if gt IE 6]><!-->
</object><!--<![endif]-->
</video>
EDIT:
I coppied la fuente que se está visualizando en mi iPhone/iPad usando this bookmarklet. Luego copié ese código en una página HTML simple, que funciona a la perfección. Debe tener algo que ver con la etiqueta de video que se genera a través de JavaScript. (IE hago clic en un botón y la etiqueta de video se genera sin una actualización de página.)
No estoy seguro de si el problema es el safari móvil, o el javascript GWT genera, pero de cualquier manera tendré que encontrar una solución alternativa
EDITAR (7/23/10):
he vuelto y re-visitó el tema. Desde que publiqué la pregunta, modifiqué por completo el diseño de la página para usar LayoutPanels en lugar de DockPanels y paneles verticales/horizontales. También me actualicé a GWT 2.0.4. Usando un iPad con iOS 3.2.1 todavía no reproduce video, pero obtengo el marco del póster cuando lo especifico (igual que antes). Con un iPhone 4 y iOS 4.0.1, el video se reproduce sin problemas. Así que parece que cualquiera que sea el problema, está solucionado con iOS 4.
hey, ¿estás usando UiBinder? –
hice la implementación y me quedé con jugar lo mismo en ipad. ahora encontré que es un problema relacionado con mi servidor. –