2016-04-27 345 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等)的公用字段, –