2016-04-27 7 views
1

Ich arbeite an Android App und Benutzer in meiner App können Videos von Youtube, Vimeo oder anderen Quellen hochladen. Jetzt habe ich eine Liste von Videos, die ich in Recyclerview laden muss. In recyclerview Liste habe ichWie man Videos von Youtube Quellen in Videobild Android

<VideoView 
    android:id="@+id/video_view" 
    android:minHeight="1dp" 
    android:visibility="gone" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center"/> 

verwendet Wenn ich Videos von YouTube oder Vimeo bin Laden, es spielt nicht diese Videos in Videoview.

Wie kann ich diese Videos in der Videowiedergabe wiedergeben und wie kann ich alle Arten von Videos unterstützen, die in meiner Android-App abgespielt werden?

Vielen Dank für Ihre Hilfe im fortgeschrittenen Stadium.

Antwort

1

Sie können eine vollständige Implementierung here finden. Aber die allgemeine Idee ist, dass Sie eine WebView verwenden müssen, und Sie werden es mit den Einbettungsdaten für ein Vimeo-Video liefern. Sie können auch die Embed HTML für ein Video mit dem vimeo-networking-java SDK bekommen.

Hier ist der anfängliche WebView-Setup:

mWebView = new WebView((Context) this); 
mWebView.setLayoutParams(new LayoutParams(windowWidth, windowHeight)); 

mWebView.getSettings().setJavaScriptEnabled(true); 
// Watch the sdk level here, < 12 requires 'false 
// Wanted to force HTML5/264/mp4, you may want flash 
// where still available 
mWebView.getSettings().setPluginState(PluginState.OFF); 
mWebView.getSettings().setLoadWithOverviewMode(true); 
mWebView.getSettings().setUseWideViewPort(true); 
mWebView.getSettings().setUserAgentString("Android Mozilla/5.0 AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"); 

wcc = new MyWebChromeClient(); 
mWebView.setWebChromeClient(wcc); 

wvc = new MyWebViewClient(); 
mWebView.setWebViewClient(wvc); 
+0

ich nicht webview verwenden kann wie ich eine Liste von Videos und will diese Liste in einem recyclerview laden. Kannst du bitte etwas anderes als webview vorschlagen, mit dem ich jede Art von Videos auf Android spielen kann. Vielen Dank im Voraus für all Ihre Hilfe. –

+0

@PrithnirajNicyone mit einer Liste von VideoViews (die alle möglicherweise gleichzeitig spielen), wäre ziemlich schlecht für die Leistung. Exoplayer ist die beste Wahl, um YouTube UND Vimeo Videos zu unterstützen - aber das ist auch am besten als eine einzige Instanz. Ich würde vorschlagen, Ihr Design zu ändern, um eine Liste von Videos zu erhalten, auf die ein Nutzer klickt, wodurch sie zu einer anderen Aktivität weitergeleitet werden, die ein Video wiedergeben kann. Sie können dann den einbettbaren Player von YouTube und die WebView-Technik von Vimeo verwenden. Um beide Arten von Videos in einer Liste zu erhalten, könnten Sie ein Modellobjekt erstellen, das gemeinsame Felder über YT- und Vim-Videos (Name, Beschreibung usw.) enthält. –