众所周知,一个有完整功能的音乐播放器应该能够让用户自主选择播放模式,例如单曲循环,随机播放,列表循环,全部播放......本文主要讨论其中的随机播放,在实现随机播放的功能可以有两种方法,即random算法和shuffle算法。两者各有利弊,笔者就试着以自己短浅的认识来谈谈这两种算法:(都是JAVA代码)
一.random算法实现随机播放
通过random实现随机播放的优点是能够实现完全随机的播放,即下一首播放出来前谁都不知道将会播放什么,达到完全随机的目的,但是其缺点也会凸显出来,就是上一曲和下一曲其实已经没有任何差异,都是完全随机的(想要上一曲不一样的,就得实现历史记录,这个比较复杂,一般的随机播放就是上一曲和下一曲一样,都是随机的,至于上一曲实现记忆功能下面会说到),这就相当于将上一曲这个按键的功能抹去了,但是这点小牺牲完全可以承受,一般大多数播放器的随机播放都是采用random算法,相信也是有一定的原因的。
废话不多说,上代码:
Calendar ca = Calendar.getInstance();//这个是用来获取系统当前时间的
int i;
Random rand =new Random(ca.get(Calendar.MINUTE)*ca.get(Calendar.SECOND));