我在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的列表。我希望能够...
查看此文章。我已经编写了逐步指南,以使用Exoplayer2预加载/预缓存视频。