Domanda

Nella mia app Android ho una WebView per visualizzare i dati html dal nostro sito. A volte la pagina avrà incorporare oggetti di YouTube. Questo non viene visualizzato correttamente in app. C'è un modo per mostrare / riprodurre i video di YouTube in WebView? Grazie.

È stato utile?

Soluzione

Non si può mostrare loro integrati tranne forse su dispositivi che dispongono di Flash.

Tuttavia, se è possibile analizzare i dettagli del video di YouTube, si può essere in grado di costruire un ACTION_VIEW Intent che li mostra sul l'applicazione YouTube ... per i dispositivi Android che hanno l'applicazione YouTube.

Si potrebbe anche sperimentare con tag <video> di HTML5, che per quanto ne so è supportato nell'applicazione Browser e possono quindi lavorare in WebView.

Altri suggerimenti

I mai incontrato questo post: link

E in effetti, ho praticamente solo bisogno di aggiungere alla applicazione XML manifest:

android:hardwareAccelerated="true"

E voilà, anche il video di YouTube ha iniziato a giocare

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 (WebView) ti invierà il messaggio shouldOverrideUrlLoading con un URL che assomiglia a questo:

vnd.youtube:? {} {VIDEO_ID PARMS}

analizzare questo per convertirlo in http://www.youtube.com/v/ {VIDEO_ID}, poi mano via questa rivisto URL, un Intent.

Lavora per me ...

Leggi il mio post sul gruppo android-sviluppatori qui: YouTube nell'emulatore?

In sostanza, il modo migliore per riprodurre clip di YouTube è quello di creare la propria attività per essa, ed ecco un grande esempio: polacco Il tuo App: gratis Embeddable Android YouTube Attività

UPDATE: I problemi con le incompatibilità a causa di YouTube cambiamenti gettone sono stati corretti. Ultima versione del componente dovrebbe funzionare bene per i video di YouTube pubblici.

Si potrebbe provare a passare il tuo sito web per incorporare il HTML5 del player di YouTube al posto del flash versione. Ancora non è sicuro che questo funzionerà al 100%, ma è ovviamente andare a lavorare meglio rispetto alla versione flash sui dispositivi che non supportano Flash.

Modifica:. Nevermind sembra che la versione HTML5 richiede anche il browser a supportare il codec H.264, che non assomiglia a nessun dispositivi Android attualmente supportano

video incorporato di YouTube funzionano bene nei browser desktop e in iPhone browser (anche quando incorporato in applicazioni su iPhone), in modo che sembra essere un problema con Android, piuttosto che su YouTube.

C'è una biblioteca che uso per i tag video HTML5 in WebView Android, funziona per tutti i video di YouTube e la maggior parte dei video in flash così, sostenendo che entrano ed escono fullscreen tra le altre caratteristiche.

VideoEnabledWebView da cprcrack

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top