La vidéo HTML5 ne fonctionne pas avec Android

J'ai le code html suivant:

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

J'ai essayé de trouver deux solutions … utiliser javascript addlistener … et déclencher la vidéo lorsqu'elle est pressée.

  • Android WebView renvoie toujours null pour javascript getElementById sur loadUrl
  • Application mobile Android: cartes intérieures, itinéraires pédestres
  • Comment cacher la barre d'adresse d'une page Web dans Android?
  • Android (Samsung S4) pause vidéo HTML5
  • Impossible d'obtenir des coordonnées GPS en utilisant Javascript sur le navigateur dans Android
  • Style d'écran lorsque le clavier virtuel est actif
  •   <script type="text/javascript"> var video = document.getElementById('videoTeaser'); var elementToTrigger=document.getElementById('video-teaser'); elementToTrigger.addEventListener('click',function(){ video.play(); },false); </script> 

    Les deux solutions ne fonctionnent pas … la vidéo elle-même fonctionne lorsque je clique sur la durée de la vidéo-teaser, sur la version du site sur le site.

    Quelle pourrait être la solution à cette …

  • Existe-t-il un moyen de créer des éléments DOM dans Web Worker?
  • ClearRect ne dégage pas la toile lors du dessin des lignes verticales
  • Comment configurer l'état des boutons radio avec JavaScript
  • Enregistrer le formulaire à l'aide de localstorage HTML5
  • Est-il possible de faire en sorte que la réplication de JQuery réagisse plus rapidement?
  • Rendre les numéros de lignes noncopables
  • 3 Solutions collect form web for “La vidéo HTML5 ne fonctionne pas avec Android”

    Essayez le code donné au lien svn à http://code.google.com/p/html5webview/source/checkout ça marche bien

    C'est un problème connu pour Android <4.0

    Il s'agit d'un workadroud:

    Dans votre visionnement web, vous devez configurer votre propre ChromeClient
    Et remplacer cette fonction:

      _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(); } } 

    Et OnHideCustomView pour ajouter votre traitement et ajouter (pour que votre vidéo puisse s'ouvrir une autre fois):

     _customViewCallback.onCustomViewHidden(); 

    Ces liens peuvent vous être utiles:

    WebView et HTML5 <vidéo>

    Comment jouer une vidéo sur une vue web avec Android?

    WebView PAS d'ouverture de lecteur vidéo par défaut Android?

    Le code à l'intérieur de la balise du script fonctionnera après le chargement du contenu de la balise d'extension. Insérez la balise de script sous la balise d'extension comme ci-dessous

     <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> 
    JavaScript rend le site Web intelligent, beauté et facile à utiliser.