随机播放是如何实现的?涉及什么原理呢?

 我来答
闲看三国
2017-10-23 · 百年三国,千年评说。
闲看三国
采纳数:752 获赞数:3342

向TA提问 私信TA
展开全部

播放顺序那个功能使用一个随机函数就可以了,好像没什么原理,这是程序设计里的一种方法而已。

我虽然没有写过播放器的随机播放代码,不过我上学的时候还是学过一些程序设计的基础知识的,所以对于这个问题的具体代码不知道,但理论还是了解的。

就以播放器的播放来说明一下吧,程序的执行是一个顺序过程,比如你选的是顺序播放,那么当你点击了播放按钮,其实就是触发了一个功能,这个功能会播放当前选中的歌曲,然后当前歌曲播放完毕以后,计数器会自动加1,然后去播放列表里查找与计数器值匹配的歌曲序号,然后开始播放。

单曲循环的实现就是计数器不自动累加,始终都操持一个值,这样的话就要在播完一曲之后继续重新开始播放当前曲目。

列表循环和顺序播放差不多,只不过多了一个条件判断,那就是当计数器已经达到了上限值以后不再继续加1,而是被重置到初始数值,也就是又从第一首开始播放了。

接下来就该说随机播放了,这个其实也不比上面几种复杂多少,只不过是使用了一个随机函数来给计数器赋值,而不是按顺序累加。另外对于随机出来的数据也要进行一个判断,即不能超过当前播放列表中的曲目的最大数量,同时也不能出现负值或者小数。

至于随机函数是数据工作的,那我就没学过了,应该就是一个没有任何规律而言的脉冲,然后被截取之后计算成一个数,就是随机数了。

Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
晓淡lwook8c05
2017-11-10 · TA获得超过411个赞
知道小有建树答主
回答量:289
采纳率:97%
帮助的人:64.9万
展开全部
Math.floor(Math.random()*3);这是一个随机整数的方法 他能随机生成0-2的整数 你可以吧 你的 音乐文件改成0qsyc.mp3、1qsyc.mp3、2qsyc.mp3这3个文件 然后在<param name="URL" value=http://XXX.com/files-en/bgmusic/qsyc.mp3> 这个里 在qsyc.mp3前 加上"+Math.floor(Math.random()*3);+"这段 你再试试 不行就找个懂点的 看看 大体上就这个思路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
坂本Coolda6a
2017-10-23
知道答主
回答量:12
采纳率:0%
帮助的人:1.1万
展开全部
将每一首歌曲化作一个数字,随机抽取其中一首,几率相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式