ExoPlayer缓存

我正在努力使用ExoPlayer通过http播放video。 我想在video加载后保存video并从缓存中播放。 如何从缓存实现缓存和回放? 可以给我任何样品。

  • ExoPlayer 2播放列表监听器
  • ExoPlayer - 连续播放10个文件
  • 在ExoPlayer上静音
  • 如何使用谷歌机器人Exoplayer的广告和video单人播放器
  • ExoPlayer和开始/暂停/ seekTo命令
  • Exoplayer:如何通过耳机播放audio?
  • 在ExoPlayer中使用caching
  • 使用ExoPlayer播放YouTubevideo
  • 您使用使用cache和dataSource创建的cacheDataSource。 这个cacheDataSource然后由ExtractorSampleSource使用.Below是audioRenderer的代码,类似地可以为videoRender完成; 传递给exoplayerInstance.prepare(渲染器)。

    Cache cache = new SimpleCache(mCtx.getCacheDir(), new LeastRecentlyUsedCacheEvictor(1024 * 1024 * 10)); DataSource dataSource = new DefaultUriDataSource(mCtx, "My Player"); CacheDataSource cacheDataSource = new CacheDataSource(cache, dataSource, false, false); Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE); ExtractorSampleSource extractorSampleSource = new ExtractorSampleSource(trackURI, cacheDataSource, allocator, BUFFER_SEGMENT_COUNT*BUFFER_SEGMENT_SIZE, new Mp3Extractor()); MediaCodecAudioTrackRenderer audioTrackRenderer = new MediaCodecAudioTrackRenderer(extractorSampleSource); 

    您使用mpeg-dash或plain http的协议是什么。

    您可以覆盖HttpDataSource并将传入的字节写入文件,并在再次播放时检查文件是否存在于所需位置,并从您的文件而不是HttpDataSource更改提供给播放器的InputStream。