【发布时间】:2020-07-16 12:45:26
【问题描述】:
我在 recyclerview 中使用 exoplayer 来呈现视频列表。这个recyclerview是在一个activity中渲染的,我在打开activity之前就知道了视频url列表。
我希望能够在进行该活动之前预加载或缓存视频。视频通常少于 1 分钟。所以我不是在寻找平滑流视频的解决方案。我只想在打开活动之前将视频放在缓存中,这样一旦 recyclerview 打开视频就可以开始播放而没有任何缓冲,就像在 tiktok 中一样。
我找到了一种使用LocalCacheDataSourceFactory in 缓存已播放视频的方法
MediaSource videoSource =
new ExtractorMediaSource(Uri.parse(mediaUrl),
new LocalCacheDataSourceFactory(context, 100 * 1024 * 1024, 5 * 1024 * 1024), new DefaultExtractorsFactory(), null, null);
这仅允许我缓存已经播放但不能预加载或预缓存的视频。
从 exoplayer 团队找到这篇中型文章,但没有针对我的特定要求的其他示例集成。 article
【问题讨论】:
-
我也在为同样的问题工作,你的问题解决了吗?有的话请分享一下?