11

我是 android 开发的新手,我正在尝试在列表视图中播放多个视频。目前,每个 listview 行项都是一个 VideoView。这种方法不起作用,因为当我开始滚动时 VideoViews 行为异常。我在这里这里这里进行了研究 ,发现 VideoViews 和 TextureViews 在 ListViews 和 ScrollViews 中不能很好地工作。vine 和 instagram 等应用如何在列表视图中播放视频?任何帮助是极大的赞赏?

4

2 回答 2

4

虽然答案很晚,但我认为它可能会帮助寻找相同答案的人。来自 github 的示例应用程序具有此要求的实现。:-

https://github.com/danylovolokh/VideoPlayerManager

要了解代码,请参阅以下链接,它对您非常有帮助:-

https://medium.com/@v.danylo/implementing-video-playback-in-a-scrolled-list-listview-recyclerview-d04bc2148429

问题是Listview中的VideoView和处理播放存在一些限制, 所以这个库实现是基于TextureView的VideoView。这是它的样子在此处输入图像描述

于 2018-02-22T06:51:33.880 回答
0

要在 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

于 2015-08-16T11:04:39.890 回答