Кеширование видеоинформации в exoplayer
Код ниже должен включить кэширование видео файлов, воспроизводимых с помощью exoplayer
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
// Produces DataSource instances through which media data is loaded.
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context,
Util.getUserAgent(context, "Hilarity"), bandwidthMeter);
SimpleCache cache = new SimpleCache(context.getCacheDir(), new LeastRecentlyUsedCacheEvictor(1024^2*100));
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(cache, dataSourceFactory);
// Produces Extractor instances for parsing the media data.
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
if (postVideoView.getPlayer() != null) {
postVideoView.getPlayer().prepare(new ExtractorMediaSource(Uri.parse(holder.getJoke().getMediaURL()),
cacheDataSourceFactory, extractorsFactory, null, null), false, false);
однако, когда я запускаю приложение, видео не показывается. Когда dataSourceFactory
переменная используется в ExtractorMediaSource
конструктор, видео воспроизводится нормально, но кэширования нет. Я слежу за тем, что видел в выступлении Google I/O ExoPlayer от 2017 года. Я что-то не так сделал или что-то не так в библиотеке?