音乐播放器(二)

定时器,滑块条的使用


 ————版权申明————


 

夜深人静的时候,我开始写代码了。咳咳 。 。 。 。 。 。

 

还是 继续做音乐播放器啊,把没完成的,剩下的,看看能写多少是多少吧,反正写几分钟就睡觉去了。

看完上一篇的之后,接下来我们开始写音乐播放的进度。可以想象一下音乐播放的进度是怎样实现的。

 

————————————————————————

看下图。

在 【_启动窗口】面板中,添加一个【时钟】控件,把控件拖动到如上图显示的位置。

然后选中时钟控件,在左边的事件列表框里面添加【周期事件】,如下图显示

 

然后添加周期事件,输入100,表示100毫秒刷新一次。

 

接下来,咱们开始实现音乐播放进度的代码

如上图显示,添加一个局部变量,(不知道如何添加的,传送门:如何添加局部变量

变量名为:状态,

类型为:整数型

然后使用媒体播放器来获取状态。

当获取到的状态 等于 1 的时候,表示音乐播放器正在播放。

如果不等于1,则我们直接返回,不需要再执行下面的代码。

如音乐播放器正在播放,则我们需要更新播放的进度,通过媒体播放器获取到进度,然后设置到进度条里面去。

but,我们为什么还要 除以 1000 呢? 因为 除以1000,就可以把间隔的比例缩小一点,不至于进度条跳动的范围比较大哈。

还有就是这个函数是通过定时器来执行的,刚才我们把定时器的刷新时间设置为100毫秒。

so,每间隔100毫秒,定时器就会触发这个函数啦。

 

————————————————————————

 

接下来,我们写【上一曲】和【下一曲】的功能。

如上图,实现的是【上一曲】的功能。

首先添加一个变量【数值】用来存放当前歌曲列表的选中的索引(当前歌曲播放的搜索),

通过歌曲列表控件来获取当前选中的列表项,然后把该数值 – 1,表示选中状态往前移动一个位置,要注意的就是,列表框的索引是从 0 开始的,so,我们要判断, 该数值 – 1 之后是否会少于0, 如果少于 0 了表示已经超出列表框的范围,然后我们就可以直接执行 返回() 函数,不需要在执行下面的代码。

如果 -1 之后得到的数值 是有效的(大于等于0)则,我们先 停止(调用 _播放_被单击()函数就可以停止了) 然后选中 -1之后的这个索引的项,然后播放选中的项。(调用 _播放_被单击()函数就可以播放了

 

【下一曲】 也是同样的道理,需要判断 +1 后的数值是否超出了 列表框的最大值的范围。

如下图:

简单的上一曲,下一曲的功能就简单地实现了。

BUT,这里面有一个BUG,那就是:如果歌曲没有正在播放的话,【上一曲】和【下一曲】的功能就无法使用,

SO,我们需要修改一下代码如下:

 

————————————————————————————————————————————————

添加的代码表示,如果媒体播放器当前没有播放的话,就不再需要执行停止的操作。 上面说过:媒体播放器.取状态() 如果 等于 1 的话 表示 正在播放。怎么不播放。

如果是正在播放的话,我们需要 执行一次 _播放_被单击() 然后停止播放,在执行新的播放

 

 

 

 

 

 

支付宝打赏 微信打赏

有 打 赏 ?



如果文章对您有帮助,欢迎移至上方按钮打赏小编







阅读(667)次 , 网友评论(1)

关于 “音乐播放器(二)” 的 1 个意见

发表评论

电子邮件地址不会被公开。 必填项已用*标注