Frage

In meiner android app habe ich eine WebView Anzeige HTML-Daten von unserer Website. Manchmal wird die Seite youtube einbetten Objekte. Dies zeigt nicht richtig in der App. Gibt es eine Möglichkeit zu zeigen, / spielt YouTube-Videos in WebView? Danke.

War es hilfreich?

Lösung

Sie können sie außer vielleicht auf Geräten nicht zeigen eingebettet, die Flash haben.

Wenn Sie jedoch das Video Details YouTube parsen können, können Sie in der Lage sein, eine ACTION_VIEW Intent zu konstruieren, die sie auf der YouTube-Anwendung ... für die Android-Geräte zeigen, die die YouTube-Anwendung haben.

Sie können auch mit HTML5 des <video> Tag experimentieren, die AFAIK in der Browser-Anwendung unterstützt wird, und kann daher Arbeit in WebView.

Andere Tipps

ich quer durch diesen Beitrag kam: link

Und in der Tat, ich im Grunde brauchte nur auf die Anwendung manifestieren xml hinzuzufügen:

android:hardwareAccelerated="true"

Und voila, auch die YouTube-Videos zu spielen begann

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

Sie WebView (webView) erhalten Sie die shouldOverrideUrlLoading Nachricht mit einer URL senden, dass wie folgt aussieht:

vnd.youtube: {} {VIDEO_ID PARMS}

Parse das es zu konvertieren http://www.youtube.com/v/ {VIDEO_ID}, dann Hand aus dieser überarbeiteten URL als Intent.

Arbeiten für mich ...

Lesen Sie meinen Beitrag auf der Android-Entwicklergruppe hier: YouTube im Emulator?

Grundsätzlich ist der beste Weg, YouTube-Clips zu spielen ist Ihre eigene Aktivität für sie zu schaffen, und hier ist ein gutes Beispiel: Polnisch! Ihre App: Gratis Fähiges Android YouTube Aktivität

!

UPDATE: Die Probleme mit den Inkompatibilitäten aufgrund YouTube Token Änderungen behoben wurden. Die neueste Version der Komponente sollte gut für öffentliche YouTube-Videos arbeiten.

Sie können Ihre Website einbinden HTML5-Version des YouTube-Player versuchen Schalt anstelle des Flash Ausführung. Immer noch nicht sicher, dass dieses 100% arbeiten, aber es ist natürlich besser zur Arbeit gehen als die Flash-Version auf Geräte, die derzeit nicht Flash unterstützen.

Edit: Nevermind es sieht aus wie die HTML5-Version erfordert auch den Browser der H.264-Codec zu unterstützen, die es nicht wie alle Android-Geräte sieht zur Zeit Unterstützung

.

Eingebettete YouTube-Videos funktionieren in Desktop-Browsern und in iPhone-Browser (auch wenn in Apps auf iPhone eingebettet), so scheint es, mit Android Problem zu sein, anstatt YouTube.

Es gibt eine Bibliothek, die ich Verwendung für HTML5-Video-Tags im Android WebView, es funktioniert für alle YouTube-Videos und die meisten Flash-Videos als auch, unterstützen Ein- und Aussteigen Vollbild unter anderem Feature.

VideoEnabledWebView von cprcrack

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top