Exoplayer 寻找 mp4 删除缓冲区

Sae*_*ari 5 video android exoplayer

我正在开发视频流应用程序,并使用 ExoPlayer 作为我的视频流媒体。

当我寻找视频 currentPosition 之前的位置时,如何以某种方式缓存或保留缓冲区。

请注意,我没有使用 DASH 或 HLS,而是以传统方式进行流式传输。

DefaultHttpDataSource dataSource = new DefaultHttpDataSource("android", null);
ExtractorSampleSource sampleSource = new ExtractorSampleSource(
                uri,
                dataSource,
                allocator,
                buffer_segment_count * buffer_segment_size);
videoTrackRenderer = new MediaCodecVideoTrackRenderer(context, sampleSource, MediaCodecSelector.DEFAULT, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT, 2000, new Handler(context.getMainLooper()), this, 1000);
audioTrackRenderer = new MediaCodecAudioTrackRenderer(sampleSource, MediaCodecSelector.DEFAULT, new Handler(context.getMainLooper()), this);
mPlayer.prepare(videoTrackRenderer, audioTrackRenderer);
Run Code Online (Sandbox Code Playgroud)

我在问题部分进行了搜索,发现(如果没有错的话)它保留了 mp4 视频的缓冲区,但在我的应用程序中却没有!问题部分相当混乱。有人能指出我正确的方向吗?

Sae*_*ari 0

我写了一个数据源并且它正在工作。如果您遇到同样的问题,可以在这里找到答案。

如果您遇到类似的问题,并且您的服务器结构似乎与我的不同,您可以阅读源代码以获取有关如何解决问题的灵感。