Я использую exoplayer в recyclerview для рендеринга списка видео. Это повторное представление отображается в упражнении, и я знаю список URL-адресов видео перед открытием занятия.
Я хочу иметь возможность предварительно загрузить или кэшировать видео перед переходом к этому занятию. Видео обычно менее 1 минуты. Поэтому я не ищу решения для сглаживания потокового видео. Я просто хочу, чтобы видео находилось в кеше перед открытием действия, чтобы после открытия просмотра повторов видео начиналось без буферизации, как в tiktok.
Я нашел способ кэширования уже воспроизведенных видео, используя LocalCacheDataSourceFactory
in
MediaSource videoSource =
new ExtractorMediaSource(Uri.parse(mediaUrl),
new LocalCacheDataSourceFactory(context, 100 * 1024 * 1024, 5 * 1024 * 1024), new DefaultExtractorsFactory(), null, null);
Это позволяет мне только кэшировать видео, которые уже воспроизводятся, но не предварительно загружать или предварительно кэшировать их.
Найдена эта средняя статья от команды exoplayer, но нет другого примера интеграции для моего конкретное c требование. товар