3 Stimmen

Vimeo in WebView iFrame auf Android anzeigen

Ich versuche, eine App zu erstellen, die eine WebView mit einem eingebetteten iframe anzeigt, das ein Vimeo-Video zeigt. Wenn ich die WebView lade, ist das iframe nur eine schwarze Box, die das Video nicht anzeigen oder etwas tun wird, wenn ich darauf klicke.

mWebView = (WebView)v.findViewById(R.id.webView);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setSupportZoom(true); 
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

mWebView.getSettings().setSaveFormData(true);
mWebView.getSettings().setJavaScriptEnabled(true);

String data = new String("" +
"" +
"Northern African and Middle Eastern Peoples " +
"" +
"" + 

"" +
"" + mRssVideoItem.getTitle() + "" + formattedDate + "" + mRssVideoItem.getDescription() + ""); 

mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    return false;
}
});
mWebView.loadDataWithBaseURL("file:///android_asset/.", data, "text/html", "UTF-8", null);

Ich habe mehrere Tage lang gesucht und finde nichts, was mir hilft.

Aktualisierung: Ich kämpfe immer noch damit. Ich habe ein paar verschiedene Dinge, die ich nicht ganz verstehe. Zuerst dachte ich, dass ich die Vimeo-Videos zum Laufen gebracht hatte, indem ich den untenstehenden Vorschlag verwendet habe. Aber heute bin ich zum Projekt zurückgekehrt und sehe nur eine schwarze Box. Ein weiteres Problem ist die "Skalierung" der Ansicht. Manchmal, wenn ich das Video lade, erscheint die gesamte Ansicht auf dem Bildschirm. Andere Male ist es, als wäre das Bild gezoomt und die Wörter sind viel größer als ich dachte. Es scheint sich auch zu ändern, wenn ich die Ausrichtung des Geräts ändere. Unten ist der HTML-Code, den ich mit loadDataWithBaseURL verwende.

http://www.w3.org/1999/xhtml' xmlns:fb='http://ogp.me/ns/fb#'>Northern African and Middle Eastern Peoples

No One But God

May 14, 2013A young Syrian father shares the story of his family's escape from the Syrian civil war and their struggles finding a new life in Jordan.


Der oben genannte Vorschlag scheint zu funktionieren, solange ich die WebSettings LayoutAlgorithm nicht auf NARROW_COLUMNS ändere. Weiß jemand, warum das Video dann nicht angezeigt wird? Eine zweite Frage ist, manchmal, wenn die "Seite" geladen wird, sieht alles großartig aus und andere Male ist der Inhalt wirklich groß und das Bild geht seitlich am Bildschirm vorbei. Es scheint, als ob es etwas mit Rotation, Skalierung oder Initialisierung zu tun hat, da sich das Bild korrigiert, wenn ich von Hoch- auf Querformat drehe und zurück zum Hochformat. Siehe Bilder unten.

Gutes Bild

Schlechtes Bild

0voto

Bilthon Punkte 2455

Ich habe tatsächlich vor ein paar Tagen einen Weg gefunden, ein Video von Vimeo innerhalb eines WebViews abzuspielen. Du kannst den Code hier überprüfen. Es macht Gebrauch von HTML5WebView aus diesem anderen Projekt.

Aber das HTML5WebView ist nur ein Wrapper um einen normalen WebView, der speziell darauf abgestimmt ist, das Video abzuspielen. Konkret musst du:

1- JavaScript einschalten 2- Eine Klasse implementieren, die WebChromeClient erweitert und die onShowCustomView- und onHideCustomView-Methoden implementiert.

Mein aktuelles Problem hat damit zu tun, diese Steuerelemente zu erfassen, die du siehst, wenn das Video im Vollbildmodus ist. Wenn es dir oder jemand anderem gelingt, das zu schaffen, wäre jede Hilfe willkommen.

Nelson

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X