Exoplayer - отображение предварительного просмотра при многократном вызове seekTo - PullRequest
0 голосов
/ 15 февраля 2019

Я использую ExoPlayer для воспроизведения видео, и у меня есть панель поиска, позволяющая пользователю перемещаться назад или вперед во время воспроизведения.

То, чего я хочу добиться, - это чтобы пользователь мог искать, а также иметь возможностьдля предварительного просмотра кадра в текущий момент времени относительно позиции искателя.

Проблема в том, что игрок отображает черную рамку, пока пользователь не отпустит панель поиска.Я думаю, это потому, что seekTo вызывается несколько раз, а у игрока просто недостаточно времени для загрузки кадра?

Есть идеи, как обойти это?

Вот какЯ вызываю seekTo внутри прослушивателя seekbar

time_range.setOnRangeSeekbarChangeListener { minValue, maxValue ->
       val mediaUri = Uri.parse(media?.dataUrl)
       player?.prepare(buildClipMediaSource(mediaUri, startTime.toInt(), endTime.toInt()))
       player?.seekTo((startTime * 1000f).toLong())
       player?.playWhenReady = true
}
...