Android 在RecyclerView中使用ExoPlayer-官方方式

Android 在RecyclerView中使用ExoPlayer-官方方式,android,android-recyclerview,exoplayer,Android,Android Recyclerview,Exoplayer,我想知道在RecyclerView中是否有使用ExoPlayer的工作示例? 我找到的所有示例都是基于对一个视图(PlayerView)使用ExoPlayer),但对于初学者来说,没有一个示例演示如何在recyclereview环境中使用ExoPlayer,在该环境中视图可以从可见屏幕上附加或分离 为什么会这样?为什么将ExoPlayer集成到Android框架生态系统中如此困难,这样我们就可以在不重新发明轮子的情况下使用它。可以公平地假设,在列表中列出视频是一项常见的要求,但没有任何指导方针或

我想知道在
RecyclerView
中是否有使用
ExoPlayer
的工作示例? 我找到的所有示例都是基于对一个视图(
PlayerView
)使用
ExoPlayer
),但对于初学者来说,没有一个示例演示如何在
recyclereview
环境中使用
ExoPlayer
,在该环境中视图可以从可见屏幕上附加或分离

为什么会这样?为什么将
ExoPlayer
集成到
Android框架
生态系统中如此困难,这样我们就可以在不重新发明轮子的情况下使用它。可以公平地假设,在列表中列出视频是一项常见的要求,但没有任何指导方针或任何东西可以帮助Android应用程序开发人员。生活在互联网上的极少数“提示”和“解决方案”,在大多数情况下都只是屁股上的痛

我发现的唯一有用的来源是:

  • (我不使用它,因为每次我使用“非官方”解决方案时,我的应用程序都会因某种原因崩溃,因此我总是更喜欢谷歌提供的“官方”解决方案)
  • 这个(我不能用,因为我用的是最新的 Android架构组件,如带有
    PagedListAdapter
    PagedListAdapter
    Room
    用于离线缓存,
    LiveData
    等,这些组件与该方法不太匹配)

  • 我在我们的应用程序中也做过类似的事情。我可以在一个页面上播放50个视频,也可以翻页,每个页面都可以播放很多视频。我们使用viewpages并保留三个playerview和五个ExoPlayer。需要记住的一点是,必须对播放器进行全局管理。你需要将它们放在一个池中,获取它们并将其放入池中。使用setPlayer()替换播放器的方法,视图和播放器是分开的。

    我在github上做了一个回购,其中有多个实现
    Exoplayer
    其中一个是回收视图中的播放器


    请在此处查看完整代码。

    恐怕还没有正式的解决方案。我是您上面提到的Github问题的评论者之一,我也是为了类似的目的而创建的。如果您仍在搜索解决方案,请试一试。

    kotlin中的它是否在java中不可用,详细信息我无法理解。.您能否与代码共享更多详细信息…?我制作了一个新项目,可以帮助所有尝试这样做的人: