常见的音乐随机播放算法主要有两种:一是Shuffle算法;二是Random算法。
一 Shuffle算法
Shuffle算法和排序算法正好相反,是从有序到乱序的一个过程,俗称洗牌算法。它将播放列表中的歌曲顺序打乱,变成一个和原来歌曲顺序没有任何关系的乱序的播放列表,之后进行歌曲的播放,并支持当用户点击“上一首”时,能够回到刚刚播放的那一首歌曲。
二 Random算法
Random算法是在选取即将播放的歌曲时,进行一个随机数的运算,得到即将播放的歌曲在播放列表中的索引,播放列表本身并没有被打乱,只是利用随机函数从播放列表中选取一首歌曲进行播放而已。
现在比较普遍的随机数生成算法是基于线性同余算法实现的,例如C语言标准库函数rand()就是利用它产生随机数的。线性同余算法能够产生均匀分布的随机数,但是它依赖于给定的随机数的上限,如果上限越小,产生的随机数重复的概率就越大。

本文介绍了音乐播放的两种随机算法:Shuffle算法和Random算法。Shuffle算法通过打乱播放列表实现乱序播放,而Random算法则是在不改变列表顺序的基础上,利用随机数选择歌曲。针对Random算法的缺陷,如不能回放上一首,文中也进行了讨论。
7812

被折叠的 条评论
为什么被折叠?



