应该需要一个实时维护的对应当前播放列表的有序数组。播放策略需要当前歌曲的索引index,列表数量size,以及获取对应索引歌曲的方法。
单曲循环,上一首歌和下一首歌始终返回当前歌曲(可以每次调用全局方法获取当前歌曲,或者保存在类里每次切换歌曲时重新赋值)
列表循环,记录当前索引,下一首就(++index) mod size,上一首--后加上size再mod size
随机可以将一个播放次序对应索引的数组shuffle之后按列表循环写,每次切换后或者循环一遍重新shuffle。或者每次下一首都随机,但下一首纯随机一般体验不太好,所以可能要写点伪随机啥的。
-- 来自 有消息提醒的 Stage1官方 Android客户端 反正网易和QQ感觉歌单一多感觉就只会在一个范围内随机,大厂都这德行了, 大部分播放器是以播放列表为核心的,中文虽然写着随机播放,但是绝大多数时候是shuffle playlist,理解成洗牌更准确点 我是用随机数排列,然后列表循环。 本帖最后由 win8 于 2022-5-12 12:37 编辑
本质上还是就播放列表,毕竟还得做“”上一首“”的功能 我是隔段时间就按各种加入时间/名称顺序放一边,能听到很多随机播放听不到的歌 这也不是什么复杂的需求吧,单曲循环不说,随机播放shuffle playlist就行了 建个环形链表,单曲循环步长为0,循环播放步长为1,随机播放就随机步长播放历史记录步长就好了hhh 让人觉得随机 得禁止播放器在播放完列表前随机到同一首歌 我到现在还没弄清楚Poweramp里面的随机分类,随机歌曲/分类是什么意思
页:
[1]