Я играю в ConcatenatingMediaSource на Exoplayer и хотел бы добавить «паузу» в конце трека, прежде чем перейти к следующему треку. Я добавил вызов для приостановки в onPositionDiscontinuity () в моем слушателе, но он воспроизводит начало звука следующего трека до его паузы (около 1 секунды). Тогда все работает нормально, но я бы хотел сделать паузу прямо в конце трека. Может кто-нибудь помочь мне понять, что здесь происходит? Спасибо!
override fun onPositionDiscontinuity(reason: Int) {
pausePlayer()
Handler().postDelayed({
val index = exoPlayer.currentWindowIndex
val mediaSource = concatenatedSource.getMediaSource(index)
val viewPresentation: ViewPresentation = mediaSource.tag as ViewPresentation
playerView.defaultArtwork = viewPresentation.drawable
startPlayer()
}, 5000)
}
private fun startPlayer() {
exoPlayer.playWhenReady = true
}
private fun pausePlayer() {
exoPlayer.playWhenReady = false
}