我想设置播放列表项目的默认开始位置(基本上是从用户离开的位置恢复),以便在播放列表项目自动转换到下一个项目时使用。
根据我的理解(我不确定),默认的开始位置是时间轴中的窗口。
来自文档:Timeline.Window.defaultPositionUs。 但是,我找不到设置这个
defaultPositionUs
参数的方法。
我使用这个函数来设置播放列表项目:setMediaItems。 我的播放列表项目是 mp3 文件(本地和 https 源)。
您可以使用覆盖方法
setMediaItems(mediaItems, startIndex, startPositionMs)
,其中:
这是我如何实现它的示例:
fun playTrack(trackId: String, playlist: List<TrackUi>) {
mediaController?.let { mediaController ->
val mediaItems: List<MediaItem> = playlist.map { it.toMediaItem() }
val startPosition = mediaItems.indexOfFirst { it.mediaId == trackId }
mediaController.setMediaItems(mediaItems, startPosition, 0L)
mediaController.prepare()
mediaController.play()
}
}