In meiner Android App habe ich ein WebView HTML-Daten von unserer Website anzuzeigen. Manchmal werden auf der Seite Objekte eingebettet. Dies wird in der App nicht richtig angezeigt. Gibt es eine Möglichkeit, Youtube-Videos in WebView anzuzeigen/abzuspielen? Vielen Dank.spielen youtube video in WebView
Antwort
Sie können sie nicht eingebettet anzeigen, außer vielleicht auf Geräten mit Flash.
Wenn Sie jedoch die YouTube-Videodaten analysieren können, können Sie möglicherweise eine ACTION_VIEW
Intent
erstellen, die sie in der YouTube-Anwendung ... für die Android-Geräte mit der YouTube-Anwendung anzeigt.
Sie könnten auch mit dem HTML5-Tagexperimentieren, wobei AFAIK in der Browser-Anwendung unterstützt wird und daher in WebView
funktionieren kann.
Dank Mark, Im beginnend mit einer neuen Absicht auf dem youtube gehen url. –
Ich habe versucht, HTML5 ohne Erfolg zu verwenden. Der Browser lädt zwar die "Vorschau" des Videos, aber keine Wiedergabefunktion. – Raykud
Sie könnten versuchen, Ihre Website zu wechseln, um die HTML5 version of the YouTube player anstelle der Flash-Version einzubetten. Ich bin mir immer noch nicht sicher, ob das 100% funktioniert, aber es wird offensichtlich besser funktionieren als die Flash-Version auf Geräten, die Flash derzeit nicht unterstützen.
Bearbeiten: Es scheint, als würde die HTML5-Version auch den Browser benötigt, um den H.264-Codec zu unterstützen, der nicht aussieht, wie es derzeit von Android-Geräten unterstützt wird.
Danke für deine Bearbeitung, benötigt, dass info: D – Warpzit
Lesen Sie meinen Beitrag auf die Android-Entwicklergruppe hier: YouTube in the 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: Polish Your App: Free Embeddable Android YouTube Activity!
UPDATE : Die Probleme mit den Inkompatibilitäten aufgrund von YouTube-Token-Änderungen wurden behoben. Die neueste Version der Komponente sollte gut für öffentliche YouTube-Videos funktionieren.
Danke Felix, ich sah auf einen benutzerdefinierten Spieler, aber entschied sich dagegen. Der Grund dafür ist, dass der Standard-Player mehr Funktionen wie Lesezeichen, Sterne usw. besitzt, die auf dem benutzerdefinierten Player nicht verfügbar sind. Auch der Standardplayer ist dem Benutzer vertrauter. –
sah aus wie genau das, was ich brauchte, aber es scheint kaputt zu sein, youtube Sicherheitsveränderung und jetzt kann es das Video nicht finden – schwiz
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, die wie folgt aussieht:
vnd.youtube:{VIDEO_ID}?{PARMS} diese
Parse es zu konvertieren zu http://www.youtube.com/v/ {VIDEO_ID}, dann überreichen Sie diese überarbeitete URL als Absicht.
Arbeiten für mich ...
Wie kommt es, dass ich dieses Ereignis nicht erhalte, wenn ich auf das Videobild klicke? Mein Link sieht so aus: . Irgendeine Idee? – newman
Es funktioniert für mich auf Android 2.1, aber nicht in 2.2 weder 2.3: http://stackoverflow.com/questions/11215443/android-2-2-2-3-doesnt-load-youtube-videos-on-the- youtube-app-from-a-webview – Tae
Ich kam quer durch diesen Beitrag: link
Und in der Tat, ich brauche im Grunde nur auf die Anwendung manifestieren xml hinzuzufügen:
android:hardwareAccelerated="true"
Und voila, sogar die Youtube-Videos werden abgespielt
Dies scheint nur zu funktionieren, wenn Sie Honeycomb 3.0 und höher unterstützen. – Notorious2tall
Ja, der Tipp ist gut, und es funktioniert tatsächlich nur auf 3.0 und höher. –
Eingebettete Youtube-Videos funktionieren in Desktop-Browsern und in iPhone-Browsern (auch wenn sie in Apps eingebettet sind) auf dem iPhone), so scheint es ein Problem mit Android und nicht mit YouTube zu sein.
Es gibt eine Bibliothek, die ich für HTML5-Video-Tags in der Android-WebView verwende, es funktioniert für alle Youtube-Videos und die meisten Flash-Videos und unterstützt Eingabe und Beenden Vollbild neben anderen Funktionen.
antwortete ich, wie Ihr webview Setup einbinden und YouTube-Videos spielen hier: http://stackoverflow.com/a/12850816/223440 –