Frage an html5, javascript, android – HTML5-Video spielt nicht mit Android

0

Ich habe folgenden HTML-Code:

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

Ich habe versucht, zwei Lösungen zu finden .. benutze Javascript Addlistener .. und löse das Video aus, wenn es gedrückt wird.

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

Beide Lösungen funktionieren nicht. Das Video selbst funktioniert, wenn ich auf den Video-Teaser-Bereich auf der PC-Version der Site klicke.

Was könnte die Lösung dafür sein ..

Verdammt, funktioniert nicht. Dmitry Makovetskiyd
put video.load (); video.play (); Padma Kumar

Deine Antwort

3   die antwort
1

Dies ist ein bekanntes Problem für Android <4.0

Dies ist ein Workadroud:

In Ihrer Webansicht müssen Sie Ihren eigenen ChromeClient einstellen
und überschreibe diese Funktion:

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

Und außer Kraft setzenOnHideCustomView um deine Behandlung hinzuzufügen und hinzuzufügen (damit dein Video ein anderes Mal geöffnet werden kann):

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

Diese Links könnten für Sie hilfreich sein:

WebView und HTML5 <video>

Wie spielt man ein Video in einer Webansicht mit Android ab?

WebView öffnet NICHT den Android Standard Video Player?

auf keinen Fall ... es muss eine bessere Lösung dafür geben, als mit dem Programmieren für das Android zu beginnen: (... Dmitry Makovetskiyd
Ich hatte das gleiche Problem, ich habe es auch anfangs nicht geglaubt :) Überprüfen Sie die Links, die mir möglicherweise aussagekräftiger sind als mein Beitrag Dany Y
Die Android-Anwendung ist bereits im Vollbildmodus. Sie ist in der Webansicht. Wenn sie mit dem iPhone funktioniert, sollte sie mit Android funktionieren Dmitry Makovetskiyd
Es ist ein bekannter Fehlercode.google.com/p/android/issues/detail?id=22254 Dany Y
0

Code innerhalb des Script-Tags funktioniert, nachdem der Inhalt des Span-Tags geladen wurde. Platzieren Sie das Script-Tag wie folgt unter dem Span-Tag

<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>
Verdammt, es wird nicht funktionieren ... warum sollte es funktionieren ... wenn ich deinem Weg folge Dmitry Makovetskiyd
Code innerhalb des Skript-Tags funktioniert nach dem Laden des span-Tag-Inhalts. Deshalb habe ich gesagt, dass Sie dies in der Webansicht ausführen müssen. Maneesh
Ja, das tue ich ....... Dmitry Makovetskiyd
2

Versuchen Sie den Code bei svn Link beihttp://code.google.com/p/html5webview/source/checkout es funktioniert gut

Verwandte Fragen