Pregunta

En mi aplicación Android tengo una vista Web para mostrar los datos HTML de nuestra página web. A veces, la página tendrá incrustar objetos youtube. Esto no se muestra correctamente en la aplicación. ¿Hay alguna manera de mostrar / reproducir vídeos de YouTube en WebView? Gracias.

¿Fue útil?

Solución

No se puede mostrar enterradas excepto quizás en dispositivos que tienen flash.

Sin embargo, si se puede analizar los datos de vídeo de YouTube, es posible que pueda construir un ACTION_VIEW Intent que mostrarlas en la aplicación de YouTube ... para aquellos dispositivos que tienen Android la aplicación de YouTube.

También puede experimentar con la etiqueta <video> de HTML5, que yo sepa se apoya en la aplicación Navegador y, por tanto, puede trabajar en WebView.

Otros consejos

Me encontré con este post: enlace

Y, en efecto, que, básicamente, sólo se tenía que añadir a la aplicación manifiesto XML:

android:hardwareAccelerated="true"

Y listo, incluso el vídeo de youtube de comenzaron a jugar

webView.setWebViewClient(new WebViewClient()
{
 public boolean shouldOverrideUrlLoading(WebView view, String url)
 {
  // YouTube video link
  if (url.startsWith("vnd.youtube:"))
  {
   int n = url.indexOf("?");
   if (n > 0)
   {
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("http://www.youtube.com/v/%s", url.substring("vnd.youtube:".length(),n)));
   }
   return (true);
  }

  return (false);
 }
});

WebView (web View) se va a enviar el mensaje shouldOverrideUrlLoading con una URL que tiene este aspecto:

vnd.youtube: {} {ID_DE_VÍDEO PARMS}

Analiza este para convertirlo en http://www.youtube.com/v/ {ID_DE_VÍDEO}, entonces la mano fuera de este revisada URL como Intención.

A mí me funciona ...

Leer mi post sobre el grupo android-developers aquí: YouTube en el emulador?

Básicamente, la mejor manera de reproducir clips de YouTube es crear su propia actividad para ello, y aquí es un gran ejemplo: polaco su aplicación: libre insertable Android YouTube Actividad

ACTUALIZACIÓN: Los problemas con las incompatibilidades debido a los cambios de fichas de YouTube han sido corregidos. La última versión del componente debería funcionar bien para los vídeos públicos de YouTube.

Usted podría tratar de cambiar su sitio web para incrustar el HTML5 versión del reproductor de YouTube en vez del flash versión. Aún no está seguro que esto funcionará al 100%, pero es obvio que va a funcionar mejor que la versión flash en los dispositivos que actualmente no es compatible con flash.

Editar:. No importa que se parece a la versión HTML 5 también requiere que el navegador compatible con el códec H.264, que no se ve como cualquier dispositivo Android soportan actualmente

vídeos de YouTube insertados funcionan bien en los navegadores de escritorio y en los navegadores iPhone (incluso si se integra en las aplicaciones en el iPhone), por lo que parece ser un problema con Android en lugar de YouTube.

Hay una biblioteca que uso para las etiquetas de vídeo HTML5 en la vista Web androide, funciona para todos los vídeos de YouTube y la mayoría de los vídeos flash, así, el apoyo que entran y salen en pantalla completa, entre otras características.

VideoEnabledWebView por cprcrack

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top