为什么视频的ExoPlayer初始加载时间超过5秒?

时间:2018-10-22 11:33:01

标签: android kotlin exoplayer

即使使用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

1 个答案:

答案 0 :(得分:0)

这里的问题似乎像是呼叫

player!!.prepare(mergerMediaSource, true, false)

之后

player!!.seekTo(currentWindow, playbackPosition)

player.prepare()的第二个参数是resetPosition,默认情况下为true。因此,该位置会重置为默认位置。

尝试寻求准备,或将false传递给resetPosition