【发布时间】:2023-01-24 03:44:49
【问题描述】:
我不知道为什么,但有时 Exoplayer 缓冲我的视频非常慢。我的服务器响应正常,互联网也很快,但有时 Exoplayer 会缓慢缓冲我的视频不到 1 秒。并且它总是在每播放 1-2 秒后缓冲一次。
int MIN_BUFFER_DURATION = 3000;
int MAX_BUFFER_DURATION = 8000;
int MIN_PLAYBACK_RESUME_BUFFER = 1500;
int MIN_PLAYBACK_START_BUFFER = 500;
LoadControl loadControl = new DefaultLoadControl.Builder()
.setAllocator(new DefaultAllocator(true, 16))
.setBufferDurationsMs(MIN_BUFFER_DURATION,
MAX_BUFFER_DURATION,
MIN_PLAYBACK_START_BUFFER,
MIN_PLAYBACK_RESUME_BUFFER)
.setTargetBufferBytes(-1)
.setPrioritizeTimeOverSizeThresholds(true).createDefaultLoadControl();
TrackSelector trackSelector = new DefaultTrackSelector();
simpleExoPlayer = new ExoPlayer.Builder(this).setTrackSelector(trackSelector).setLoadControl(loadControl).build();
binding.exoPlayerView.setPlayer(simpleExoPlayer);
mediaItem = MediaItem.fromUri(getVid);
simpleExoPlayer.addMediaItem(mediaItem);
simpleExoPlayer.prepare();
simpleExoPlayer.play();
我正在我的 Exoplayer 和Chrome Browser player. Chrome 浏览器player plays my video 4X faster than my appExoplayer 中测试我的视频?我正在同一时间播放同一视频。有人也在 exoplayer git 中问过这个问题,但没有得到很好的答案或结果,请参阅他们的问题exoplayer issue github 这同样的问题导致了我!
有谁知道为什么会这样?你的回答对我有帮助。
【问题讨论】:
-
更新 .setTargetBufferBytes(C.LENGTH_UNSET)
-
@PrasadTamgale 先生,请解释您写的内容。我不明白?
-
我是说,也许尝试将目标缓冲区字节大小设置为 C.LENGTH_UNSET 并查看是否有帮助。
-
@PrasadTamgale 你能给我解释一下如何实现吗?用一些代码?
-
您的代码相同,只需从 .setTargetBufferBytes(-1) 更新为 .setTargetBufferBytes(C.LENGTH_UNSET)
标签: java android exoplayer exoplayer2.x