Próbuję zakodować stronę w GWT, która odtwarza filmy z HTML5. Wszystko działa świetnie na pulpicie, ale mobilne Safari na iPhonie i iPadzie nie odtwarza wideo.Wideo GWT i HTML5 w mobilnym Safari
Mogę odtwarzać wideo przy użyciu Video for Everybody. Nawet skopiowałem kod do mojej własnej strony HTML i działa bezbłędnie. Jeśli podam ten sam kod za pomocą widżetu GWT, mobilne safari nie odtworzy wideo. Na iPhonie widzę szare pudełko ze znakiem zakazu wokół przycisku odtwarzania, a na iPadzie pojawia się jako czarne pudełko.
Upewniłem się, że mój doctype to <!DOCTYPE html>
, ale nie wiem, gdzie jeszcze rozpocząć debugowanie. Być może to dlatego, że kod jest wstrzykiwany za pośrednictwem javascript? Wszelkie wskazówki na temat tego, gdzie zacząć szukać, byłyby bardzo mile widziane.
Oto dokładny kod używam do tego filmu wideo:
<!-- "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 źródła, który był wyświetlany na moim iPhone/iPad za pomocą this bookmarklet. Następnie skopiowałem ten kod do zwykłej strony HTML, która działa bezbłędnie. Musi mieć coś wspólnego z tagiem wideo generowanym przez javascript. (IE klikam przycisk i tag wideo jest generowany bez odświeżania strony).
Nie jestem pewien, czy problem dotyczy mobilnego safari, czy generuje javascript GWT, ale tak czy inaczej będę musiał znaleźć obejście.
EDIT (23.07.10):
mam wrócić i ponownie odwiedził problem. Odkąd napisałem to pytanie, całkowicie zmieniłem układ strony, aby używać LayoutPanels zamiast DockPanels i panele Vertical/Horizontal. Uaktualniłem także wersję GWT 2.0.4. Używanie iPada z iOS 3.2.1 nadal nie odtwarza wideo, ale otrzymuję ramkę plakatową, gdy ją określam (tak jak poprzednio). W przypadku iPhone'a 4 i iOS 4.0.1 film jest odtwarzany bez problemów. Wygląda na to, że nieważne, czym jest ten problem, naprawiono go na iOS 4.
Hej, używasz UiBinder? –
Zrobiłem wdrożenie i utknąłem z graniem w iPada. teraz stwierdziłem, że jest to problem związany z moim serwerem. –