如何在exoplayer的recyclerview中播放视频列表之前对其进行预缓存?

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

我在recyclerview中使用exoplayer渲染视频列表。此recyclerview是在活动中呈现的,在打开活动之前,我知道视频URL的列表。

我希望能够在进行该活动之前预先加载或缓存视频。视频通常不到1分钟。所以我不是在寻找一种解决方案来平滑流视频。我只希望视频在打开活动之前先处于缓存中,这样一旦recyclerview打开,就可以像tiktok中一样在没有任何缓冲的情况下开始播放视频。

我找到了一种使用LocalCacheDataSourceFactory来缓存已播放视频的方法>

MediaSource videoSource =
 new ExtractorMediaSource(Uri.parse(mediaUrl),
                            new LocalCacheDataSourceFactory(context, 100 * 1024 * 1024, 5 * 1024 * 1024), new DefaultExtractorsFactory(), null, null);

这仅允许我缓存已播放的视频,但不能预加载或预缓存它们。

找到了exoplayer团队的这篇中等文章,但没有其他符合我特定要求的示例集成。 article

我在recyclerview中使用exoplayer渲染视频列表。此recyclerview是在活动中呈现的,在打开活动之前,我知道视频URL的列表。我希望能够...

java android exoplayer
1个回答
0
投票

查看此文章。我已经编写了逐步指南,以使用Exoplayer2预加载/预缓存视频。

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