Comment reproduire automatiquement la vidéo HTML5 mp4 sur Android?

J'avais développé une page mobile par asp.net pour lire la vidéo mp4.

Je sais que iOS a désactivé la fonction de lecture automatique pour minimiser la bande passante utilisateur, alors comment puis-je reproduire automatiquement la vidéo HTML5 mp4 sur Android?

  • Enregistrer les données de LogCat dans Android
  • Horloge Android? Comment?
  • Google <br> services.json est-il confidentiel?
  • Utilisation de zxing Barcode Scanner dans une page Web
  • Où les notifications s'affichent sur Chrome sur Android?
  • Comment activer la fonctionnalité de défilement vers une mise en page linéaire dans Android?
  • J'avais déjà mis en jeu le code HTML5, mais ça ne marche pas.

    Voici mon code:

    <video autoplay controls id='video1' width='100%' poster='images/top_icon.png' webkitEnterFullscreen poster preload='true'> <source src='http://192.xxx.xxx.xx/XXXXVM01.mp4' type='video/mp4; codecs='avc1.42E01E, mp4a.40.2' > </video> 

    De plus, j'ai résolu le problème que l'utilisateur clique sur la superposition d'image peut lire la vidéo. Merci Karthi

    Voici le code:

     <script type="text/javascript"> $(document).ready(function() { $("#video1").bind("click", function() { var vid = $(this).get(0); if (vid.paused) { vid.play(); } else { vid.pause(); } }); }); </script> 

    Merci

    Joe

  • Activation de fermeture après un clic de bouton
  • Comment définir les étiquettes pour les axes X et Y dans le diagramme à double ligne à l'aide de aChartEngine dans Android?
  • Comment ajuster la taille de la police de texte pour qu'elle corresponde à la vision du texte
  • Android NDK et LOCAL_ARM_MODE flag
  • Type de ressource XML manquant pour la valeur PercentRelativeLayout Percentage?
  • Clarification du cycle de vie des applications Android
  • 11 Solutions collect form web for “Comment reproduire automatiquement la vidéo HTML5 mp4 sur Android?”

    Je ne pense pas que la lecture automatique fonctionne sur Android, mais obtenir une vidéo à jouer peut être énormément délicat. Je suggère de donner à cet article une lecture: Making HTML5 Video fonctionne sur les téléphones Android .

    Vous pouvez ajouter les attributs «muet» et «autoplay» ensemble pour permettre la lecture automatique des périphériques Android.

    par exemple

     <video id="video" class="video" autoplay muted > 

    J'ai utilisé le code suivant:

     // get the video var video = document.querySelector('video'); // use the whole window and a *named function* window.addEventListener('touchstart', function videoStart() { video.play(); console.log('first touch'); // remove from the window and call the function we are removing this.removeEventListener('touchstart', videoStart); }); 

    Il ne semble plus y avoir de moyen de démarrer automatiquement.

    Cela fait que la première fois qu'ils touchent l'écran, la vidéo jouera. Il se supprimera également lors de la première exécution afin que vous puissiez éviter que plusieurs auditeurs ne s'ajoutent.

    Android a en fait une API pour cela! La méthode est setMediaPlaybackRequiresUserGesture () . Je l'ai retrouvé après avoir creusé un jeu vidéo automatique et beaucoup de tentative de piratage en SO. Voici un exemple de blair vanderhoof :

     package com.example.myProject; import android.os.Bundle; import org.apache.cordova.*; import android.webkit.WebSettings; public class myProject extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Set by <content src="index.html" /> in config.xml super.loadUrl(Config.getStartUrl()); //super.loadUrl("file:///android_asset/www/index.html"); WebSettings ws = super.appView.getSettings(); ws.setMediaPlaybackRequiresUserGesture(false); } } 

    Dans Android 4.4 et au-dessus, vous pouvez supprimer le besoin d'un geste utilisateur tant que le composant Vidéo HTML5 vit dans votre propre WebView

     webview.setWebChromeClient(new WebChromeClient()); webview.getSettings().setMediaPlaybackRequiresUserGesture(false); 

    Pour que la vidéo soit reproduite automatiquement, vous devrez ajouter une lecture automatique à l'élément vidéo

     <video id='video' controls autoplay> <source src='http://192.xxx.xxx.xx/XXXXVM01.mp4' type='video/mp4; codecs='avc1.42E01E, mp4a.40.2' > </video> 

    L'affichage automatique ne fonctionne que pour la deuxième fois. Sur Android 4.1+, vous devez avoir un certain type d'événement utilisateur pour que le premier jeu () fonctionne. Une fois que cela s'est produit, le démarrage automatique fonctionne.

    C'est pour que l'utilisateur reconnaisse qu'ils utilisent la bande passante.

    Il y a une autre question qui répond à cela. Autostart la vidéo html5 à l'aide du navigateur Android 4

    Dans Android 4.1 et 4.2, j'utilise le code suivant.

      evt.initMouseEvent( "click", true,true,window,0,0,0,0,0,false,false,false,false,0, true ); var v = document.getElementById("video"); v.dispatchEvent(evt); 

    Où html est

      <video id="video" src="sample.mp4" poster="image.jpg" controls></video> 

    Cela fonctionne bien. Mais dans Android 4.4, cela ne fonctionne pas.

    Semblable à la réponse de KNaito, ce qui suit fait l'affaire pour moi

     function simulateClick() { var event = new MouseEvent('click', { 'view': window, 'bubbles': true, 'cancelable': true }); var cb = document.getElementById('player'); var canceled = !cb.dispatchEvent(event); if (canceled) { // A handler called preventDefault. alert("canceled"); } else { // None of the handlers called preventDefault. alert("not canceled"); } } 

    Voici un plugin pour PhoneGap qui a résolu le problème pour moi: https://build.phonegap.com/plugins/1031

    Je l'ai simplement inclus dans mon config.xml

     <video autoplay controls id='video1' width='100%' poster='images/top_icon.png' webkitEnterFullscreen poster preload='true'> <source src='http://192.xxx.xxx.xx/XXXXVM01.mp4' type='video/mp4; codecs='avc1.42E01E, mp4a.40.2' > </video> 

    Chrome l'a désactivé. https://bugs.chromium.org/p/chromium/issues/detail?id=159336 Même le jQuery play () est bloqué. Ils veulent que l'utilisateur l'initie afin que la bande passante puisse être enregistrée.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.