随机播放是如何实现的?涉及什么原理呢?
播放顺序那个功能使用一个随机函数就可以了,好像没什么原理,这是程序设计里的一种方法而已。
我虽然没有写过播放器的随机播放代码,不过我上学的时候还是学过一些程序设计的基础知识的,所以对于这个问题的具体代码不知道,但理论还是了解的。
就以播放器的播放来说明一下吧,程序的执行是一个顺序过程,比如你选的是顺序播放,那么当你点击了播放按钮,其实就是触发了一个功能,这个功能会播放当前选中的歌曲,然后当前歌曲播放完毕以后,计数器会自动加1,然后去播放列表里查找与计数器值匹配的歌曲序号,然后开始播放。
单曲循环的实现就是计数器不自动累加,始终都操持一个值,这样的话就要在播完一曲之后继续重新开始播放当前曲目。
列表循环和顺序播放差不多,只不过多了一个条件判断,那就是当计数器已经达到了上限值以后不再继续加1,而是被重置到初始数值,也就是又从第一首开始播放了。
接下来就该说随机播放了,这个其实也不比上面几种复杂多少,只不过是使用了一个随机函数来给计数器赋值,而不是按顺序累加。另外对于随机出来的数据也要进行一个判断,即不能超过当前播放列表中的曲目的最大数量,同时也不能出现负值或者小数。
至于随机函数是数据工作的,那我就没学过了,应该就是一个没有任何规律而言的脉冲,然后被截取之后计算成一个数,就是随机数了。
2023-07-25 广告