Как мне переключиться на конкретный трек по индексу в Exoplayer? ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Как мне переключиться на конкретный трек по индексу в Exoplayer?

Сообщение Anonymous »

Я создаю музыкальный проигрыватель с помощью Exoplayer. Если пользователь нажимает на определенную дорожку из recyclerview, я хочу воспроизвести все дорожки, но переключиться на выбранный индекс.

Я использую ConcatenatingMediaSource для воспроизведения списка воспроизведения.

val concatenatedSource = ConcatenatingMediaSource()

for (v in videos) {
when (v.type) {
"join" -> {
val mediaSource = ProgressiveMediaSource.Factory(cacheDataSourceFactory)
.createMediaSource(Uri.parse(v.src))
concatenatedSource.addMediaSource(mediaSource)
}
"separate" -> {
val videoSource = ProgressiveMediaSource.Factory(cacheDataSourceFactory)
.createMediaSource(Uri.parse(v.vSrc))
val audioSource = ProgressiveMediaSource.Factory(cacheDataSourceFactory)
.createMediaSource(Uri.parse(v.aSrc))
val mergedSource = MergingMediaSource(videoSource, audioSource)
concatenatedSource.addMediaSource(mergedSource)
}
"stream" -> {
val hlsSource = HlsMediaSource.Factory(cacheDataSourceFactory)
.createMediaSource(Uri.parse(v.src))
concatenatedSource.addMediaSource(hlsSource)
}
}
}

player.prepare(concatenatedSource)


Подробнее здесь: https://stackoverflow.com/questions/619 ... -exoplayer

Вернуться в «Android»