Cómo reproducir automáticamente video mp4 HTML5 en Android?

Desarrollé una página móvil de asp.net para reproducir video mp4.

Sé que iOS había desactivado la función de reproducción automática para minimizar el ancho de banda del usuario, así que ¿cómo puedo reproducir automáticamente video HTML5 mp4 en Android?

Ya había puesto la reproducción automática en el código HTML5, pero no funciona.

El siguiente es mi código:

 

Además, he solucionado el problema de que al hacer clic en la superposición de imagen, el usuario puede reproducir el video. Gracias Karthi

aquí están el código:

  $(document).ready(function() { $("#video1").bind("click", function() { var vid = $(this).get(0); if (vid.paused) { vid.play(); } else { vid.pause(); } }); });  

Gracias

Joe

No creo que la reproducción automática funcione en Android, pero obtener un video para jugar puede ser molesto. Sugiero leer este artículo: hacer que el video HTML5 funcione en teléfonos Android .

Puede agregar los atributos ‘silenciado’ y ‘autoplay’ juntos para habilitar la reproducción automática para dispositivos Android.

p.ej

  

Use el siguiente código:

 // 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); }); 

Ya no parece haber una manera de comenzar automáticamente.

Esto hace que la primera vez que toquen la pantalla se reproduzca el video. También se eliminará en la primera ejecución para que pueda evitar la sum de múltiples oyentes.

¡Android tiene una API para esto! El método es setMediaPlaybackRequiresUserGesture () . Lo encontré después de investigar mucho autoplay de video y muchos bashs de hack de SO. Aquí hay un ejemplo 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  in config.xml super.loadUrl(Config.getStartUrl()); //super.loadUrl("file:///android_asset/www/index.html"); WebSettings ws = super.appView.getSettings(); ws.setMediaPlaybackRequiresUserGesture(false); } } 

En Android 4.4 y versiones posteriores, puede eliminar la necesidad de un gesto de usuario siempre que el componente de video HTML5 viva en su propia WebView

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

Para que el video se reproduzca automáticamente, aún necesitarás agregar la reproducción automática al elemento de video:

  

La reproducción automática solo funciona la segunda vez. en Android 4.1+ tienes que tener algún tipo de evento de usuario para que funcione la primera jugada (). Una vez que ha sucedido, el autostart funciona.

Esto es para que el usuario reconozca que está usando ancho de banda.

Hay otra pregunta que responde esto. Inicio automático de video html5 usando el navegador android 4

similar a la respuesta de KNaito, lo siguiente es el truco para mí

 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"); } } 

Nota importante: tenga en cuenta que si Google Chrome Data Saver está habilitado en la configuración de Chrome, la reproducción automática estará deshabilitada.

En Android 4.1 y 4.2, utilizo el siguiente código.

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

donde html es

   

Esto funciona bien Pero en Android 4.4, no funciona.

Aquí hay un complemento para PhoneGap que me solucionó el problema: https://build.phonegap.com/plugins/1031

Simplemente lo incluí en mi config.xml

  

Simplifiqué el Javascript para iniciar el video.

  var bg = document.getElementById ("bg"); function playbg() { bg.play(); } 
    

Puede agregar una etiqueta muted

  

referencia https://developers.google.com/web/updates/2016/07/autoplay

Chrome lo ha deshabilitado. https://bugs.chromium.org/p/chromium/issues/detail?id=159336 Incluso el jQuery play () está bloqueado. Quieren que el usuario lo inicie para que se pueda guardar el ancho de banda.