如何在 RecyclerView 中使用 ExoPlayer 并在同一项目中包含多个视频?

问题描述 投票:0回答:1

我知道这个问题重复了太多次,但我还没有看到针对这个特定场景的任何解决方案,我需要有关如何解决这个问题的建议。

我基本上有一个帖子列表(社交网络类型的帖子),其中包含多个视频。 把它想象成 Instagram,一个包含帖子的垂直列表,每个帖子都是一个包含照片、视频或两者组合的水平列表。

我尝试创建 ExoPlayer 的活动实例并将其传递给所需的适配器,但是,这样做时,当我从一个视频水平更改为另一个视频时,视频播放器中当前正在播放的视频也会显示在下一个视频上一,直到 ExoPlayer 准备好播放另一个视频 url。很像这样:

然后我想为每个视频资源创建一个 ExoPlayer 实例,并在其可见时播放,同时玩 ExoPlayer 版本和娱乐等内容,但我开始收到 MediaCodecRenderer$DecoderInitializationException: Decoder init failed 因为应用程序之间共享解码器的设备限制。

如果我只创建一个 ExoPlayer 实例,并将其传递到 RecyclerViews 层次结构,或者通过回调调用它,我应该如何修复相同的视频播放(如附图所示),直到下一个视频准备好播放?

我不想在视频加载之前在下一篇文章上放置缩略图来伪造它,因为浏览时看起来并不无缝。

此外,我还使用 ExoPlayer 在包含混合照片或视频的列表上研究了很多存储库,但它们都是简单的列表,每个项目只有一个图像或视频。

任何建议都会非常有帮助,谢谢您的宝贵时间!

android kotlin video exoplayer2.x
1个回答
0
投票

有一个具有类似功能的示例 github 项目 https://github.com/NehaKushwah993/InstagramVideoFeedClone

回复为时已晚,但希望这对某人有帮助

© www.soinside.com 2019 - 2024. All rights reserved.