如何为分成多个部分的视频添加多个搜索栏

问题描述 投票:0回答:1

我有一个视频分为多个部分(每个部分的持续时间约为 5 分钟)。当我使用 addMediaItems() 在 Exoplayer 中播放这些部分时,所有部分都播放得很好,但每次播放视频部分时,seekbar 都会从 0 开始初始化,每次显示的视频总持续时间是当前视频部分的持续时间正在玩。

我想获取播放列表中添加的所有视频部分的总时间,并显示总播放列表的单个搜索栏。

如果我想为一个部分显示多个搜索栏并将它们水平组合。这可能吗?

android exoplayer
1个回答
0
投票

您可以使用单个滑块来控制所有视频的时长。这是一个简单的方法:

获取当前播放列表中的视频总数:

player.mediaItemCount
(示例:返回 10)。

由于每个视频都是 5 分钟,所以总时间 = 50 分钟 = 30,00,000 毫秒

// Language : kotlin , Framework : Jetpack Compose

var totalDuration = 3000000L
var currentVideo = 0
var input = player.duration


Slider(
                value = input/ videoDuration,
                onValueChange = { },
                enabled = true,
                valueRange = 0f..1f
            )


onValueChange = {}
内进行此计算:


val toSeek : Double = it*videoDuration / 3,00,000
currentVideo = toSeek


if(currentVideo == toSeek.toInt) {
       
      player.seekTo((toSeek-currentVideo)*1,00,000))
}else{

      player.seekTo(currentVideo,(toSeek-currentVideo)*1,00,000)

}



将硬编码值转换为参数化变量。

您可以通过将

Long 
值转换为
Int
来提高性能,欢迎您使用 Stack OverFlow ,如果您发现此 Soution 有帮助,您可以通过单击左侧的
Tick Mark
将其标记为答案。

还有其他问题请评论。

© www.soinside.com 2019 - 2024. All rights reserved.