Cómo jugar auto iframe youtube en webview android
Uso webview android en mi aplicación para mostrar vídeo de youtube que funciona bien.
Pero quiero que sea juego automático.
- ¿Qué diferencia hay entre el uso de WebView y el navegador para la api de vídeo de YouTube?
- Cargando video de Youtube a través de i-frame en android webview
- Cómo utilizar Youtube Player con UI moderna en Android usando YoutubePlayerSupportFragment
- Compartir enlace de audio de terceros en la nube de sonido y youtube en la aplicación Android
- Custom WebView de Android para abrir todos los enlaces internamente, excepto los enlaces de YouTube.
Esta es mi actividad que añada "? Autoplay = 1" a videoUrl pero nada cambia todavía no es juego automático.
public class LandVideoAct extends Activity { WebView mWebView; String videoURL = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.landfull); videoURL = "http://www.youtube.com/embed/VYIi49czywo?autoplay=1"; mWebView = (WebView) findViewById(R.id.fullwebview); String vid = "<html><body style=\"margin: 0; padding: 0\"><iframe width=\"100%\" height=\"100%\" src=\""+videoURL+"\" type=\"text/html\" frameborder=\"0\"></iframe><body><html>"; WebChromeClient mWebChromeClient = new WebChromeClient(){ public void onProgressChanged(WebView view, int newProgress) { } }; mWebView.getSettings().setPluginState(WebSettings.PluginState.ON); mWebView.setWebChromeClient(mWebChromeClient); mWebView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { mWebView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); } }); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setAppCacheEnabled(true); mWebView.setInitialScale(1); mWebView.getSettings().setLoadWithOverviewMode(true); mWebView.getSettings().setUseWideViewPort(true); if (Build.VERSION.SDK_INT < 17) { Log.i("GPSNETWORK", "<17"); } else { Log.i("GPSNETWORK", Build.VERSION.SDK_INT+">=17"); mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false); } mWebView.loadData(vid, "text/html", "UTF-8"); } }
- ¿Es posible lanzar la aplicación de YouTube en Android con el parámetro de búsqueda?
- ¿Está prohibido transmitir vídeo de YouTube en segundo plano?
- Forzar anuncio del youtube para que aparezca para la prueba
- La vista web de Android no puede convertir el video de youtube incrustado a través de iframe
- Obtener la URL de descarga para el vídeo de YouTube (Android / Java)
- reproducir archivo de vídeo de youtube en android
- Agrega API de datos de Youtube en Android Studio usando Gradle
- Aplicación de reproductor de youtube para Android, reproducción de Google rechazada para jugar en segundo plano
Creo que no es posible en los navegadores webview o android. Para lograr la reproducción automática, creo que necesita "YOUTUBE API".
Revise el siguiente enlace:
1] ¿ No hay método de manera de hacer video de reproducción automática en la plataforma android?
2] Youtube Api android autostart
Estos enlaces anteriores le darán idea acerca de la reproducción automática, así como la api de youtube.
Echa un vistazo a esta pregunta . Hay un par de sugerencias que pueden trabajar para usted, sin embargo la persona que hizo esa pregunta no decir si funcionó para ellos o no.
La mayoría de lo que estoy leyendo es decir que la mayoría de las plataformas móviles bloquean la reproducción automática para evitar la mala experiencia del usuario.
Puedes probar este código javascript a continuación:
var myvideo = document.getElementsByTagName('video')[0]; myvideo.play();
Para Android 4.2.2+ intenta agregar esto en tu código nativo:
WebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
También echa un vistazo a esta página . Que añade el siguiente código para reproducir automáticamente el video:
webview.setWebViewClient(new WebViewClient() { // autoplay when finished loading via javascript injection public void onPageFinished(WebView view, String url) { webview.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); } }); webview.setWebChromeClient(new WebChromeClient()); webview.loadUrl("http://html5demos.com/video"); }
Hazlo así. Espero eso ayude
String html = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"http://www.youtube.com/embed/" + "J2fB5XWj6IE?autoplay=1" + "&fs=0\" frameborder=\"0\">\n" + "</iframe>\n";
Desde abajo enlace
En Chrome, la reproducción automática también está deshabilitada
( https://code.google.com/p/chromium/issues/detail?id=159336 )
Creo que lo mismo ocurre con las versiones recientes del navegador web predeterminado para Android.
Se deshabilita de forma predeterminada en función de la razón del sistema operativo. Chrome también deshabilita el contenido de forma predeterminada. Puedes intentar codificar tu propia aplicación o usar Java, Javascript y la API de YouTube en su lugar. Tal vez webkit le permitirá permitir a decidir qué se juega basado en su estado de la batería en el futuro.
Un poco tarde, pero espero que esto ayude.
Una vez finalizada la carga de su página, ejecute:
yourWebView.loadUrl("javascript:(function() { document.getElementsByClassName('ytp-large-play-button ytp-button')[0].click(); })()");