Buscando en YouTube HTML5 video sobre Android WebView
EDITAR Nevermind, YouTube publicó la API de Native Android ( https://developers.google.com/youtube/android/player/ )
Tengo una aplicación que muestra un videoview HTML5 sobre un WebView. Este video está obligado a ser HTML5 del servicio de YouTube ( http://www.youtube.com/embed/3FFyT039tJ0?autoplay=1&rel=0&showinfo=0&html5=1&start=90&end=176 )
- Html5 mediaplayer para reproducir video de youtube
- Cómo hacer miniaturas de vídeo de YouTube en android?
- Botón de pantalla completa de Video dentro de WebView no funciona
- Android Java Youtube API v3.0 obtener enlace de vídeo RTSP
- YouTube Video no se reproduce en WebView - Android
Como se puede ver en la URL, el parámetro "start" muestra el número de segundos que el video debe comenzar a reproducir. He estado usando el método onShowCustomView
de WebChromeClient
para obtener el objeto VideoView
creado por el WebView, como se ve aquí .
Cuando tengo la referencia a la VideoView
, puedo usar el método seekTo()
para lograr mi objetivo. Hasta aquí todo está bien, pero sólo para versiones de Android inferiores a 4.x.
Como muchos de ustedes saben, el método onShowCustomView
de WebViewChromeClient
, desde 4.x y forward, solo se llama cuando el usuario hace clic en el modo "FullScreen", pero no cuando el video empieza a reproducirse (como solía ser antes de 4.x).
Por lo tanto, el punto es que no puedo buscar 90 segundos hacia adelante porque no puedo obtener la referencia a la VideoView, y no puedo encontrar ninguna solución.
Si alguien tiene alguna idea … sería genial.
Aclamaciones.
- Cómo iframe un video de youtube en HTML para teléfonos Android para poder ver y rotar a pantalla completa?
- Youtube iframe player no mostrará videos en android 4.x WebView
- Cómo incrustar un clip de YouTube en un WebView en Android
- Detectar o la latencia aproximada de Bluetooth en Android (reproducción de audio)
- Android WebView con un video de youtube incrustado, botón de pantalla completa congela video
- No se puede transmitir YouTube Url en VLC android
- Reproductor multimedia con YouTube?
- API de YouTube para Android: YouTubePlayerFragment loading spinner
Pruebe este:
wv.getSettings().setPluginsEnabled(true); DisplayMetrics metrics = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay() .getMetrics(metrics); int w1 = (int) (metrics.widthPixels / metrics.density), h1 = w1 * 3 / 5; String item="http://www.youtube.com/embed/3FFyT039tJ0"; wv.getSettings().setJavaScriptEnabled(true); wv.setWebChromeClient(chromeClient); wv.getSettings().setPluginsEnabled(true); try { wv.loadData( "<html><body><iframe class=\"youtube-player\" type=\"text/html5\" width=\"" + (w1 - 20) + "\" height=\"" + h1 + "\" src=\"" + item + "\" frameborder=\"0\"\"allowfullscreen\"></iframe></body></html>", "text/html5", "utf-8"); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } }
Y escriba un cliente webchrome como este:
private WebChromeClient chromeClient = new WebChromeClient() { @Override public void onShowCustomView(View view, CustomViewCallback callback) { // TODO Auto-generated method stub super.onShowCustomView(view, callback); if (view instanceof FrameLayout) { FrameLayout frame = (FrameLayout) view; if (frame.getFocusedChild() instanceof VideoView) { VideoView video = (VideoView) frame.getFocusedChild(); frame.removeView(video); video.start(); } } } };
Espero que te ayude 🙂
Gracias
Si alguien quiere usar WebView
para reproducir videos de youtube, dos consideraciones:
- Dependiendo de la versión de Android, no puede ser posible. Android versión 4.x a través de
WebView
no puede hacer eso (o no encontré el camino 🙂 Como he publicado aquí - Si está en Android 5 o superior, debe configurar
WebChromeClient
en el componenteWebView
:setWebChromeClient(new WebChromeClient());
¡Espero eso ayude!
Para futuros espectadores
YouTube ahora tiene una API de jugador: https://developers.google.com/youtube/android/player/
Donde puede colocar fácilmente una vista en el xml y manejarla en actividad, aquí están los ejemplos: https://github.com/youtube/yt-android-player
- Usuario de comprobación de Android iniciado antes, de lo contrario iniciar actividad de inicio de sesión
- Cambiar la barra de acción