随机播放模式的实现

更新

时隔一年,今晚在看《Java编程》一书时,突然发现Java集合类中,Collections类有一个Collections.shuffle()方法(shuffle就是洗牌的意思),可以随机的打乱List,算法思想其实也差不多就是下面所描述的这个过程,有兴趣可以看看shuffle方法的源码。这样的话,也就不需要自己手动的来实现这个过程了。发现提升最快还真是多看看书,自己折腾半天不知其实早是前人玩透了的东西。

前言

播放器大致共有三种播放模式:列表循环、单曲循环、随机播放。前两者不难实现,所以这里主要讲到的是随机播放的思想,也同时附上实现。实现的例子是Winform+WndowsMediaPlayer控件(关于WMP控件的添加方式与使用,在我的其他博客中有写到),程序下载在后边给出。

一、随机播放

1.概念

理想的随机播放模式:在一轮播放中,歌单中所有的歌曲只播放一次,播放次序随机(一轮播放是指,例如播放列表中有10首音乐,每首音乐播放一次,共10次,称为一轮。一轮的概念在之后的实现中有比较重要的作用)。

2.实现思想

通过概念可知我们要实现两点:①只播放一次②次序随机。所以生成一个随机序列,再按序列的值播放歌曲,就可以很好的达到以上两点。好了,主要的实现思想有了,我们再考虑一下细节。

1)随机List怎样生成?

  • 初始化List。需要定义List的长度(播放列表中歌曲的总数),List的初始值&
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值