【问题标题】:How Do I Play Video in ListView like Instagram and Vine?如何在 Instagram 和 Vine 等 ListView 中播放视频?
【发布时间】:2014-11-20 15:43:59
【问题描述】:

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

【问题讨论】:

标签: android listview instagram android-videoview vine


【解决方案1】:

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

https://github.com/danylovolokh/VideoPlayerManager

对于代码的理解,请参考以下链接,它对你真的很有帮助:-

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

问题是listview中的VideoView有一些限制 并处理播放,所以这个库实现是基于 TextureViewVideoView。这是它的样子

【讨论】:

    【解决方案2】:

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

    来自Android Scrollview having videoview is giving problem

    您也可以尝试使用 TextureView 来代替 VideoView 作为参考,您可以看到第 2 号参考:

    有关视频流的更多参考...您可以查看以下网址: 1>http://developer.samsung.com/android/technical-docs/Android-Media-Streaming-Tutorial

    2>http://developer.android.com/reference/android/view/TextureView.html

    【讨论】:

    • 如果用户想在行项目的同一位置播放视频,那么他应该使用什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    相关资源
    最近更新 更多