我是 android 开发的新手,我正在尝试在列表视图中播放多个视频。目前,每个 listview 行项都是一个 VideoView。这种方法不起作用,因为当我开始滚动时 VideoViews 行为异常。我在这里、这里、这里进行了研究 ,发现 VideoViews 和 TextureViews 在 ListViews 和 ScrollViews 中不能很好地工作。vine 和 instagram 等应用如何在列表视图中播放视频?任何帮助是极大的赞赏?
2 回答
虽然答案很晚,但我认为它可能会帮助寻找相同答案的人。来自 github 的示例应用程序具有此要求的实现。:-
https://github.com/danylovolokh/VideoPlayerManager
要了解代码,请参阅以下链接,它对您非常有帮助:-
问题是Listview中的VideoView和处理播放存在一些限制, 所以这个库实现是基于TextureView的VideoView。这是它的样子
要在 Listview 中播放视频,您需要在 ListView 的 Item Click 上打开 Video,然后您可以在 String 中检索您的视频 url,例如:
String myUrl = urHashMaparraylist.get(position).get("videolocation");
现在将此 myUrl 传递给下一个 Activity 并将此 String 设置为
Uri video = Uri.parse(myUrl);
videoView.setVideoURI(video);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
String myUrl = urHashMaparraylist.get(position).get("videolocation");
Intent n = new Intent(YourActivityName.this , NewActivityName.class);
n.putExtra("videolocation",myUrl);
startActivity(n);
}
});
现在在您的下一个活动中将其检索为
Uri video = Uri.parse(url);
videoView.setVideoURI(video);
在某些情况下,要设置 VideoView,您可以使用:
android:background:"#0000"
从具有videoview的Android Scrollview开始出现问题
除了 VideoView,您还可以尝试使用 TextureView作为参考,您可以看到第 2 个参考:
有关视频流的更多参考...您可以查看以下网址:1> http://developer.samsung.com/android/technical-docs/Android-Media-Streaming-Tutorial
2> http://developer.android.com/reference/android/view/TextureView.html