Pregunta sobre javascript, html5, android – El video HTML5 no juega con Android

0

Tengo el siguiente código html:

<code><span id="video-teaser">
    <span>Click here for a <strong>FREE</strong> hot video</span>
    <video src="http://example.com/videos/nakednews.mp4" controls="" poster="http://example.com//img/iphone-video-btn.png" id="videoTeaser" height="1"></video>
</span>
</code>

Traté de encontrar dos soluciones ... usar javascript addlistener..y activar el video cuando se presiona.

<code>     <script type="text/javascript">
            var video = document.getElementById('videoTeaser');
            var elementToTrigger=document.getElementById('video-teaser');
                    elementToTrigger.addEventListener('click',function(){
                    video.play();
                    },false);
      </script>
</code>

Ambas soluciones no funcionan ... el video en sí mismo funciona cuando hago clic en el intervalo de videos, en la versión para PC del sitio ...

¿Cuál podría ser la solución a esto?

Maldita sea, no funciona. Dmitry Makovetskiyd
poner video.load (); video.play (); Padma Kumar

Tu respuesta

3   la respuesta
1

Este es un problema conocido para Android <4.0

Este es un trabajo:

En tu webview tienes que configurar tu propio ChromeClient
y anular esta función:

<code>        _customViewCallback = callback;
        if (view instanceof FrameLayout){  
             FrameLayout frame = (FrameLayout) view;  
             if (frame.getFocusedChild() instanceof VideoView){  
                 final VideoView video = (VideoView) frame.getFocusedChild(); 
                 _customView = video;
                 frame.removeView(video);  
                 Activity a = (Activity)_context;
                 a.setContentView(video);  
                 video.setOnCompletionListener(new OnCompletionListener() {  

                    @Override  
                    public void onCompletion(MediaPlayer mp) { 
                        mp.stop();
                        video.stopPlayback();
                        onHideCustomView();
                    } 
                });  
                 video.setOnErrorListener(new OnErrorListener() {  

                    @Override  
                    public boolean onError(MediaPlayer mp, int what, int extra) {  
                        return false;  
                    }  
                });  
                 if (!video.isPlaying())
                     video.start();  
             }  
         }  
</code>

Y anularOnHideCustomView para agregar su tratamiento y agregar (para que su video pueda abrirse en otro momento):

<code>_customViewCallback.onCustomViewHidden();
</code>

Estos enlaces pueden ser útiles para usted:

WebView y HTML5 <video>

¿Cómo reproducir un video en una webview con Android?

¿WebView NO está abriendo el reproductor de video predeterminado de Android?

de ninguna manera ... debe haber una mejor solución a esto que comenzar a programar para Android: (... Dmitry Makovetskiyd
La aplicación de Android ya está en pantalla completa ... está en webview ... si funciona con iphone ... debería funcionar con android Dmitry Makovetskiyd
Tuve tu mismo problema, no lo creí al principio también :) revisa los enlaces que podrían ser más descriptivos que mi publicación Dany Y
es un error conocidocode.google.com/p/android/issues/detail?id=22254 Dany Y
0

El código dentro de la etiqueta de script funcionará después de cargar el contenido de la etiqueta span Coloque la etiqueta de script debajo de la etiqueta span como se muestra a continuación

<code><span id="video-teaser">
    <span>Click here for a <strong>FREE</strong> hot video</span>
    <video src="http://example.com/videos/nakednews.mp4" controls="" poster="http://example.com//img/iphone-video-btn.png" id="videoTeaser" height="1"></video>
</span>

 <script type="text/javascript">
            var video = document.getElementById('videoTeaser');
            var elementToTrigger=document.getElementById('video-teaser');
                    elementToTrigger.addEventListener('click',function(){
                    video.play();
                    },false);
      </script>
</body>
</code>
Maldición, no funcionará ... ¿Por qué debería funcionar? Si sigo tu camino Dmitry Makovetskiyd
Sí lo hago....... Dmitry Makovetskiyd
el código dentro de la etiqueta de script funcionará después de cargar el contenido de la etiqueta span por eso dije, ¿estás ejecutando esto en la vista web? Maneesh
2

prueba el código dado en el enlace svn enhttp://code.google.com/p/html5webview/source/checkout funciona bien

Preguntas relacionadas