即使使用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
答案 0 :(得分:0)
这里的问题似乎像是呼叫
player!!.prepare(mergerMediaSource, true, false)
之后
player!!.seekTo(currentWindow, playbackPosition)
player.prepare()
的第二个参数是resetPosition,默认情况下为true。因此,该位置会重置为默认位置。
尝试寻求准备,或将false传递给resetPosition