【发布时间】:2020-01-28 08:03:56
【问题描述】:
我已经为 hls 视频链接实现了 exoplayer,一旦视频再次播放,它就会加载要播放的视频,任何人都可以建议如何在视频完全流式传输后停止再次加载并在不缓冲的情况下播放。 如何为hls流媒体视频存储缓存。如有解决方案,请提供。 在此先感谢:)
TrackSelector trackSelector = new DefaultTrackSelector(this);
DefaultLoadControl loadControl = new DefaultLoadControl.Builder()
.setBufferDurationsMs(1024, 64 * 1024, 1024, 1024)
.createDefaultLoadControl();
videoView = findViewById(R.id.video_view);
player = ExoPlayerFactory.newSimpleInstance(this, trackSelector,loadControl);
// player = ExoPlayerFactory.newSimpleInstance(this);
player.setPlayWhenReady(true);
videoView.setPlayer(player);
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
Util.getUserAgent(this, "ExoPlayer"));
// Produces Extractor instances for parsing the media data.
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
MediaSource mediaSource = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse(videoUrl));
player.prepare(mediaSource);
player.setPlayWhenReady(true);
【问题讨论】:
-
按照视频缓存库指令:github.com/danikula/AndroidVideoCache
-
@TusharLathiya 目前我已从 exoplayer 更改为 videoview 以查看它是否有效,但它再次无效
-
兄弟请分享你的代码。目前在我的应用程序中完美运行。它适用于 videoview 和 exoplayer。如果不工作,请告诉我。
-
@TusharLathiya 你能分享你的exoplayer代码吗
标签: android caching video http-live-streaming exoplayer