QQ音乐安卓版的随机播放为什么播放顺序是一定的?
1个回答
展开全部
因为音乐程序不是真正的乱序的,随机播放有一个固定的算法。
因为程序的行为是可预测的,所以软件实现的“随机”都是“伪随机”,也就是根据某个函数(一般是多项式函数)产生一个连续的整数序列,如果这些整数可以基本覆盖整个值域而且出现的次序没有明显的规律,就算是实现了一个伪随机数算法。
虽然得到的数字表面上看互不相关,可以称作“随机”,但如果用户也知道这个函数,那么用户就可以预测下一个数字,那就不是“随机”了。
为了避免每次调用函数都产生同样的序列,就需要每次调用时(根据当前的时间)设置一个“种子”,也就是初值,在不同的时间调用随机函数获得的序列也就不同了。
shuffle需要一个均匀性非常好的随机函数,如果会编程的话,可以试一下:
n(i+1)=(n(i)*101+81)%100可以产生一个非常均匀的[0,99]的随机序列。
如果想得到“真正的随机”,只能依靠硬件实现,一般是用噪声发生器。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询