2016-04-27 400 views
1

我正在開發Android應用,我的應用中的用戶可以從YouTube,VIMEO或任何其他來源上傳視頻。 現在我有一個需要在recyclerview中加載的視頻列表。在recyclerview的名單我已經使用如何在YouTube視頻播放器中播放YouTube視頻中的視頻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"/> 

當我從YouTube或VIMEO加載視頻,它不videoview播放這些視頻。

如何在videoview中播放這些視頻,以及如何支持所有類型的視頻以在我的android應用中播放。

非常感謝您的高級幫助。

回答

1

你可以找到完整的實施here。但總體思路是,您需要使用WebView,並且您將爲其提供Vimeo視頻的嵌入數據。您還可以使用vimeo-networking-java SDK獲取視頻的嵌入html。

這裏是最初的WebView設置:

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

因爲我有視頻列表,並希望加載一個recyclerview該列表我不能使用web視圖。你可以請建議別的東西,而不是我可以用來在android中播放任何類型的視頻的webview。 非常感謝您的幫助。 –

+0

@PrithnirajNicyone擁有一個VideoViews列表(所有這些都可能同時播放),這對性能來說是相當糟糕的。 Exoplayer是支持YouTube和Vimeo vid的最佳選擇 - 但這也是最好的單一實例。 我會建議修改您的設計,以獲得用戶點擊的視頻列表,這會將他們帶到另一個可以播放視頻的活動。然後,您可以使用YouTube的嵌入式播放器和Vimeo的WebView技術。 至於在列表中獲取這兩種類型的視頻,您可以創建一個模型對象,該對象具有跨YT和Vim視頻(名稱,desc等)的公用字段, –