即使在使用DefaultLoadControl()之后,ExoPlayer的初始加载时间也超过5秒。
private fun initializePlayer() {
if (player == null) {
trackSelector = DefaultTrackSelector()
loadControl = DefaultLoadControl(
DefaultAllocator(true, 1024),
1000, // this is it!
2000,
1500,
3000,
1024,
true
)
player = ExoPlayerFactory.newSimpleInstance(
DefaultRenderersFactory(this),
trackSelector,
loadControl)
player!!.addListener(componentListener)
player!!.addVideoDebugListener(componentListener)
player!!.addAudioDebugListener(componentListener)
video_view.setPlayer(player)
player!!.setPlayWhenReady(playWhenReady)
player!!.seekTo(currentWindow, playbackPosition)
val uri = Uri.parse(getString(R.string.media_url_mp4))
val mediaSource = buildMediaSource(uri)
val mergerMediaSource = MergingMediaSource(mediaSource, buildSubtitleSource(getString(R.string.media_url_subtitle)))
player!!.prepare(mergerMediaSource, true, false)
}
}我试着加载的视频是this
发布于 2019-05-17 22:12:52
这里的问题看起来像是
player!!.prepare(mergerMediaSource, true, false)之后
player!!.seekTo(currentWindow, playbackPosition)player.prepare()的第二个参数是resetPosition,这在默认情况下是真的。这就是为什么,位置被重置为默认值。
尝试在准备之后进行查找或将false传递给resetPosition
https://stackoverflow.com/questions/52928370
复制相似问题