安普 网络资讯 2022年10月2日
0 收藏 0 点赞 474 浏览 9947 个字
摘要 :

火山Pc制作音乐播放器第二章,主要是给大家来写功能方面的代码。 上一节课呢,我们讲解了音乐播放器的界面,这节课我们将实际来写代码,将功能填充进去,真正的实现一个……

火山Pc制作音乐播放器第二章

火山Pc制作音乐播放器第二章,主要是给大家来写功能方面的代码。
上一节课呢,我们讲解了音乐播放器的界面,这节课我们将实际来写代码,将功能填充进去,真正的实现一个完整的播放器。首先最重要的就是播放音乐,还有反馈播放进度,我们这个是支持从指定位置播放的。第二就是暂停播放,恢复播放,这也是一个播放器应该有的功能。第三就是上一曲下一曲这样的一个切换效果,然后就是连续播放,连续播放指的是播完第一个会自动播第二个,一直到下方没有为止,我们这个是一个顺序的播放。
首先我们先来看音乐播放功能。
音乐播放呢,需要使用到我们精益模块当中的及音乐音量类,我们可以通过这个类呢,直接来进行播放暂停进度的这样的一个操作,那么呢,我们打开我们的论坛。
我们可以在上面的这个产品中心,然后火山啊精益火山PC这样的一个模块,我们可以来下载它。
在这里火山精英模块,我在这里呢就可以下载,下载好了之后呢,模块的安装方法之前呢都给大家讲过,直接双击模块,点击确定即可,如果你之前安安装过呢,就会有刚才的对话框,我们也直接点击确定就可以了,这里面呢,已经提供了音乐播放这样的一个功能,我们一会呢,使用代码来实际来看。
接下来就是时钟周期事件,用来获得音乐的进度,然后呢,反馈或者说显示到滑块条上操作反馈,那么这个操作呢,指的是滑块条这一块,我们拖动了滑块条之后呢,音乐就会动态的去播放啊,根据我们当前的位置进行这样的一个播放。好,下面呢,我们来看代码,因为我刚才添加了新的精英模块,所以呢,我要将。
它关闭,然后重新打开,让程序呢,读到最新的经营模块。
好,我们一点一点来看功能。我们先回到窗口设计,这里首先是上一曲,这个是播放,然后是下一曲,我们肯定先从播放开始。那么播放这里呢,我们要添加一个按钮被单击事件按钮被单击播放,我们就要看一下列表框当中有没有选择项目,然后呢,如果有选择就播放选择的项目,因为我们有多个按钮,这里呢,我们就要区分是哪个事件,所以我们用来源对象,如果等于按钮播放,播放按钮呢,我们就来设置一下播放的操作,我们要想一下播放应该做哪些事,我们先别着急写代码。播放首先第一件事先确定是否选择项目。
如果有就直接播放,没有就什么都不干,然后呢,播放的时候,这个按钮就要变成暂停的模样,然后滑块条又开始走,那么开始走呢,取决于时钟,也就是说时钟会有一个周期事件产生,然后呢,进行一个播放。
好,我们现在呢,先做第一步,点了之后先将我们这个播放的图标啊,改为暂停图标。那么这里呢,因为涉及到一个这样状态,所以呢,我们要借助标题,借助按钮的标题来动态的改变我们当前的状态。标题我们可以也写成播放,因为当按钮有图片的时候,它会自动的将标题覆盖掉。所以呢,我们这个标题大家可以理解是作为一个这样的一个标记,或者说是一个状态的判断,它是不会影响到图片显示的。那么如果等于播放,那么我们就要接着判断播放的标题,如果等于播放,就表示是现在这个状态。我们记得刚才的那几步,第一步我们先把它的图片改为暂停。
图片暂停。然后呢,我们要检查一下列表框当中是否有,那么检查的操作应该在最前方,如果线行选中项等于负一,等于负一呢,就表示它没有选中任何项目,没有选中的话,我们直接返回即可,就什么都不需要做了,连图片也不需要改。如果他选择了,我们再进行这样的一个播放操作。那么播放呢,我们可以调用音乐播放。这里呢,我们先引用静音模块,选择配置项目所使用模块,将精益模块添加进来,点击确定,然后我们用音乐播放。那么这里呢,在使用之后,大家需要注意一点,在播放之前,我们先要对音乐进行打开,打开之后我们才可以操作这一个音乐。
所以呢,我们现在要对它进行打开操作,打开需要两个参数,分别是路径和标识,路径这个大家一看就明白,主要是标识,这个标识,标识在现在打开的这个状态里面啊,这个音乐的一个唯一标识,就说只有通过这个标识才能找到这个音乐,否则呢,就找不到这个音乐了。这个标识呢,虽然是我们手动设定的,但是呢,最好不要跟其他的标识一样啊,最好不要跟其他的标识一样,我们打开这个时候呢,我们需要看一下我们列表框当中当前选中项是哪一个。
比如说这样好比说我选中第二个,我点击播放的时候呢,他就要将第二个的路径显示出来,然后呢,我们播放第二个好。
我们就将路径取出来,播放列表,取项目文本,取项目文本呢,就是用来取路径的啊,就是用来取它里边的这一个一个项目这样的一个文本,那么在这里呢,它就是取路径的,取哪一项呢?就是取我们线型选中项,线行选中项就表示你鼠标当前选中的这一项,如果你什么都没选中的话,它就会也它就会等于负一,所以这里呢,我们就用线型选中项,然后再用取项目文本得到了它的音乐路径。接下来我们需要一个标识,那么这个标识呢,我们可以使用一个随机数来进行代替,或者说用一个随机的标识,这样才能确保呢,呃,尽量的不重复。
尽量的不重复。好,那么现在呢,我们需要一个变量来保存这个标识。好,我们先制作一个变量,那么我们可以先等于啊,这个music,然后再加上一个到文本的取随机数,我们给他十个啊,不是十个啊,从一到十,我们给他这么多一个随机数,然后呢,我们将标识传递进去,传递进去之后呢,这个音乐就被打开了啊打开它会返回逻辑型,这里呢,我们可以判断,如果等于帧就打开成功,否则的话,我们直接弹出信息框打开音乐失败。我们通常来讲,只要路径没有问题呢,是不会打开失败的。那么打开之后呢,这里我们就可以调用音乐播放,播放的时候呢。
啊,这时候大家注意了,传递的就是音乐标识了,也就是说后边的所有操作传递的全部都是音乐标识,而不再是音乐路径了,所以呢,我们使用标识来进行播放。第二个参数是是否等待完毕,这个时候呢,我们是不需要等待它完毕的,因为我们取这个进度的这个事件呢,是在时钟里,而且我们也没有必要等待它完毕,所以我们这里根据情况,我们选择的是不等待,然后呢,我们先添加一个音乐先试一下。
添加几个,然后我们选中一个点击播放,但是大家刚才发现了,我连续点击了两次按钮,是不是这个音乐呢?明显就重复播放,这个时候呢,我们就需要在播放之后将我们的这个标题啊改为暂停,这个时候呢,再次点击就不会进到这个分支了。
好,我播放这没有问题。
下面呢,我们来写暂停,如果按钮播放,点标题等于暂停,等于暂停的话呢,我们就让音乐暂停播放就可以了。
啊,这个地方呢,我们要把它挪一下位置啊,挪一下位置往上一点,要不然它会跟下面的流程线冲突啊我们放在这里,然后呢,我们使用音乐暂停,音乐暂停这个命令,那注意呢,这里传的依然是音乐标识,所以呢,我们就使用音乐标识。
暂停之后,我们还要将按钮的标题设置为继续,因为当你暂停了之后啊,你还要再点一次,能让这个音乐继续播放,继续播放的话,肯定我们还要有另一个状态处理,那就是继续,所以呢,在后面我们继续判断。
啊,这里不是写判断啊,这里是要写,否则啊这个地方写错了啊我们来看一下,根据前面的这个标题等于播放。
啊,这里呢,我们要写否则啊,刚才的这个如果是有一点问题的,好,我们在后面写一个否则,我们是应该在否则里判断当前的标题等于暂停。然后呢,我们再写暂停的两句代码,我们将这个如果删掉啊,这个是刚才搞错了,现在呢,我们就已经暂停了音乐,并且呢,将我们的这个标题改成了继续。那最后呢,我们就要对继续进行操作。那么如果标题等于继续等于继续,那么我们就让音乐继续播放啊,就叫恢复,恢复呢,依然用的是音乐标识。诶但是呢,我们发现了一个问题,在这个地方呢,因为已经出了当前的判断分支了,这个音乐标识这个变量就已经过了作用。
去了,说白了就是已经失效了,它只在它的这一个范围,大家看到就是我选择的从81行到97行,它只在这个范围中有效,所以说呢,这个地方我们就没办法再用音乐标识了,而为了能用,我们要将它修改为成员变量,让它在整个我们程序播放的时候都有效,这样呢,我们就能随时控制它的一个状态。
好,那现在呢,我们再看,这个时候呢,就可以正常使用了,我们在这里写音乐标识,然后呢,再将我们的按钮标题呀,修改为暂停,好,现在我们就实现了音乐的播放和暂停效果,那首先我现在什么都不选啊,我也不导入,我直接点播放大看,这是没有什么事情会发生的,因为我没有选择任何项目,那我添加一项之后。
我再次点击暂停,大家看音乐停下来了,再点一次,然后就继续是吧,这个都没有问题,但是呢,我们想要一个什么效果呢?当暂停了之后啊,也变成播放图标来告诉用户啊,现在这个图标呢,又是播放状态,所以呢,我们就需要把我们这个图片拿过来,当点击暂停的时候,我们让图片,呃,图片等于播放,当点击恢复之后,再让这个图片等于暂停,那现在呢,我们来看这样的效果。
点击之后暂停,暂停之后又变为播放,播放点击之后又变为暂停,那么我们要实现的就是这个效果,这个按钮啊,这个图片啊,必须根据当前的状态来动态改变啊,这个是非常必要的,现在这一块呢,可以说我们都写的差不多了,那么还有一个就是。
时钟或者说这个进度,因为我们播放的时候,我们要实时的去显示它的进度,这个时候我们就要用到时钟。
我们先返回我们的窗口设计界面,给我们的时钟添加一个时钟周期事件,在周期事件里面,我们就要获取当前音乐播放的一个进度,然后呢,根据这个进度,我们去动态的去调整我们滑块条的位置,这个时候大家要思考。
调整位置的时候,我们就需要知道两个东西,第一我们知道当前播放到了能播放到了哪里,第二,我们要知道总共有多少长度,这两个条件是必要的,我们看第一个当前播放到哪里,这个很简单,我们直接使用音乐去当前播放进度就可以了,它会播放呢?啊,它会返回正在播放音乐的进度毫秒,也就是说已经播放了多少毫秒,这个没有问题。然后呢,我们还需要一个总长度,总长度呢,就是音乐取时长,这个就是取得音乐总的长度,那么这个时候我们就要想一想啊,总长度在这里取实际上是不合适的,因为取了总长度,我们要的是设置滑块条的总长度,或者说到时候我们设置标签上那个标签内容的总长度,那么总长度呢,我们。
就应该在打开音乐之后,播放音乐之前取到总长度,我们在这里取到总长度,那么总长度一样,我们也使用一个程序级变量来存总长度,因为是毫秒,所以我们直接用整数就可以了。
这个时候我们就知道了音乐总共有多长,我们就可以让滑块调一点最大位置,最大位置呢,就等于我们的总长度,因为我们的总长度是毫秒,我们没必要显示的这么细,我们就把它除以1000,得到秒就可以了。现在呢,我们就可以将滑块条的最大长度设置为了秒。
然后在周期事件里面,我们就取得当前的进度,并且将滑块条的位置放到当前进度上面,那么当前进度同样需要一个音乐标识,这里呢,我们新建一个变量,叫做当前播放进度,然后我们将滑块条的位置位置就表示当前那个滑块所在的那个位置,我们就让它等于,等于什么呢?等于当前的播放进度要除以1000,因为我们的总长度是除了1000的,所以这里的位置也要除1000,不然的话就对不上了。
那么在都准备好之后,我们要让时钟启动起来,我们要给它时钟周期赋一个值1000就是一秒钟,我们就让这个,呃,这个时钟啊,一秒钟执行一次,那么就相当于是一秒钟修改一次状态,然后我们运行来看效果。
选择了一个音乐。
我们点击播放大家看这个,大家看到这个进度条在动了是吧?在动了,因为因为我们还没有做这个时间,所以呢,大家看到进度条可能动的比较慢,实际上呢,它也是按照这个总长度在动好那这一块呢,就是我们时钟啊操作进度条这一块,接下来呢,我们来看这个写这个啊时间进度这一块。
那么接下来呢,我们要做的就是将现在的这个毫秒啊换成秒,然后显示在这个标签上面。
那么现在的总时长这个毫秒我们已经有了,然后是周期,周期事件这个里面呢,当前的这个进度的毫秒我们也有了,所以我们现在要做的呢,就是将两个毫秒转换成对应的这个分钟加秒数,然后呢,显示在我们这个软件上面就可以了,那下面我们看一下这边应该怎么弄呢。
我们要新建一个方法,这个方法主要就是将毫秒转换成分钟和秒这样的一个组合,那么我们这里呢,就叫做时间转换。
那么它返回值呢,我们就直接让它返回文本型,那么参数呢,我们传递进来的就是毫秒。
将毫秒数啊直接转换为分钟数,然后冒号再加秒数,那么现在呢,我们就要来取一下,首先呢,我们先来一个分钟,再来一个秒,那么秒等于什么?秒首先应该等于的是当前的这个时间,先用分钟把它们经过这样的一个转换之后啊,剩下的才是秒,所以呢,我们现在先把分钟求出来,分钟应该等于的是毫秒数,那毫秒数我们首先除1000,那么得到的是秒数,我们再除以60,得到的就是分钟数,得到分钟数之后呢,我们再用总的毫秒数。
减减去啊,这个我们先写啊,这个秒应该等于毫秒数减去,减去什么呢?减去上面分钟的整数乘以60,那是不是剩下的就是,呃,剩下不足一分钟这个部分对不对,所以呢,我们现在要做的是按分钟。
60乘1000,这就是一分钟,再乘以刚才得到的分钟的整数,因为我们的分钟是整数型,所以这呢,它除完之后,即使除不开,它也会有一个整数的分钟,在这里我们只需要把剩下的秒得出来就可以了,那么现在呢,我们就可以返回一个文本是吧?我们就可以返回分钟的文本,再加上一个冒号,再加上秒,那这个秒呢,同样要到文本啊,得到的呢,就是我们完整的一个分钟加秒了,好,我们来试验一下看对不对。
这里呢,我们就让标签时间显示,点标题等于时间转换,我们转换什么呢?转换当前进度的时间,然后我们再加上一个斜线,后边呢,我们用总时间。
所以我们用这个音乐的总时长,我们看看音乐的总时长是什么呢?我们之前有这样的一个变量,音乐总长度。
我们现在运行啊,让它跑起来,我们看一下效果。
添加一首音乐。
然后呢,我们点击播放。
啊,我们要选中它。
大家看这个效果没错啊,但是呢,后面它有一些这个小数是吧?这个秒它有一些小数,所以说呢,这个秒我们的处理呢,是有一些问题的,我们再来看一下这里,因为秒我们这里得到的呢,是这个毫秒数,所以在最后的最后,我们还要对结果除以1000,所以呢,我们可以这么写,秒等于秒,再除以1000,才能把毫秒彻底的转化成秒,因为我们上面呢,这得到的是一个毫秒数,好,我们现在再试一下。
看看这样的话,这个时间呢,就没有什么问题了,前面是当前的,后边是总的啊是总的,这样就没有问题了,那么下面呢,我们要做的是。
这个进度条啊,我们拖动的时候,他不说我拖到这里,它能实现这样一种拖动的播放。
好,我们现在呢,来做一下拖动,拖动呢,我们就需要为这个滑块条啊,增加一个拖动这样的一个位置被改变这样的一个事件。那么当位置被改变的时候呢,我们就需要对音乐进行一个重新的这样的一个定位操作。所以呢,我们就叫做去,呃,这个音乐指定位置,同样的第一个参数是音乐标识,然后就是指定的位置,这个位置呢,就是我们滑块条一当前的位置乘以1000,得到的就是毫秒,因为它指定位置呢,需要的第二个参数也是毫秒这样的一个参数。那么当指定完毕之后呢,我们可以手动再调用一次音乐播放,让它再播放起来。
好,这样呢,我们再试一下效果。
好,大家看到这,大家应该也能听到声音啊,那么刚才这个地方呢,我是拖动了两次,那么这个都没有什么问题,就说拖动这一块呢,我们就可以把它弄出来了,那么然后呢,就是一些呃,这个菜单啊,菜单这个地方的一些修改,那么菜单这里呢,有一个播放。
停止添加,那么这个添加呢,我们已经有了,然后呢就是删除,那么删除这个因为比较容易实现,所以呢,我们就先把删除这个部分实现了。删除项目删除项目的时候呢,我们删除的是哪一项呢?依然是当前选中的这个项目。
删除选中项,那么之前我们就要进行一个判断,或者说进行一个询问,看用户是不是真的想删除,因为这里呢,可能考虑到用户会选择错误,所以这里呢,我们询问一下是否需要删除指定。
音乐然后呢,我们在第二个参数这里啊,这里呢,我们可以使用信息框按钮这样的一个常量,我们这里呢,就叫做是否钮进行一个这样的询问,询问之后呢,它用什么返回呢?我们看一下这个信息框的返回值,它的返回值叫做返回按钮类型,同样是一个这样的常量。
如果这用的是是否钮,我们这就就就用是扭,如果用的是确认取消,我们后面就用确认取消,这里呢,我们就等于如果等于是牛,我们就把它从列表中删除掉,就把它从列表中删除掉,那么这个删除的代码呢,是没有什么悬念的啊,也非常简单,这里呢,我们把代码多余的空行给它删掉。
接下来呢,就是播放音乐跟停止播放,那么停止播放呢,我们只需要调用音乐停止哎就可以了。
我们呢,使用现在的音乐标识将音乐停止下来,然后我们还是要做几件事,第一我们要把时钟恢复,或者说将时钟的时钟周期设置为零,告诉时钟可以不用再走了。然后呢,我们可以将滑块条一的位置设置为零,告诉滑块条可以回到最左边。然后呢,我们就要将标签时间显示的标题给它置为空,那当前没有播放。然后我们还要将按钮播放的这个图片给它,等于上播放的这个这一张图片,因为可能是正在播放,但是暂停,所以呢,我们要把重新改为播放。最后呢,音乐标识我们要把它置为空,那么音乐总长度我们就不需要改了,因为音乐总长度呢,在我们播放音乐的时候就会自动被改变。
就会自动获取,所以说我们现在呢,试一下这个停止。
看一下有没有那遗漏的地方。
诶大家看到停止之后呢,按钮没有问题,那这个进度条实际上也是到了最左边了啊然后呢,下面这里呢,就是已经没有任何显示了,那么停止这一块没有问题。
接下来呢,就是这个播放,那么播放呢,依然要用到之前的那几步操作,那么我们就可以将播放从这里呢给他拿过来,从这个线型选中项等于负一这个判断开始,然后我们一直往下一直往下,那么打开音乐失败也是同样需要的,我们将这些代码呢复制上来,然后看一下有没有其他要修改的地方。
这里我们就需要注意一个问题,如果说当前正在有音乐播放,我们是不是就要先将之前的音乐给停掉,然后再播放我们的音乐?
所以呢,这里我们就需要先将原有的音乐停掉,那么如何判断呢?这里我们就可以这样判断,如果音乐标识不等于空,表示现在正在有音乐播放,然后我们再让音乐停止播放,因为我们每次停止的时候啊,大家看。
我们手动停止的时候,我们自动将音乐标识设置为了空,我们就可以知道啊,音乐停了,但是如果现在不为空,那就表示肯定有音乐在播。
接下来我们看一看下面有没有什么问题。
这些呢,应该都是没有问题的啊这个就是播放这一块,我们再来看一下。
好,我们先添加一首。
然后我们点击播放,点击停止啊没有问题。
现在呢,我们再来看时间,看时间这个部分,那么时间这里呢,我们需要判断一下,如果说当前的这个时间呢,已经大于了总长度,我们就需要呢,提前将啊不能说提前吧,就是说我们就需要将这个播放的状态呢,也改为停止,因为如果大于的话,就表示这首音乐已经播放完毕了。这里呢,我们继续把前面的停止代码复制过来。
好,停止播放,这里我们要将这几步停止代码呢,都给它复制过来。
放在这里。
啊,就是重复执行停止的步骤,当然停止了这一个呢,也可以单独写成一个子程序,那么这个看起来呢,就会非常的方便,好,我们把它加成一个新的方法,叫做停止音乐播放,那么停止的话呢,我们就直接调用里面的代码,直接使用我们的程序及变量也是可以的啊,我把它写到这里。
同样的,我把上面的这个停止也改为这个子程序,就不用写这么多的代码了。
所以说大家想一下啊,这个开始也是一样的,开始呢,也可以这样来写,那这里呢,我就不单独把开始写出来了,我们只看这个停止就可以了,那现在呢,是。
这个我们当时间。
我们看一下,当这个时钟周期过的时候呢,它也会自动执行停止时间,我们来试验一下时钟周期这个是否管用,我们点击一首歌曲打开。
然后我们播放啊还要选中它。
我选到最后两秒钟,我们来看一下。
好,我们这里呢,是有一点问题啊,这里是要等于啊,要等于不能大于,因为到最后一刻的时候,当前进度会等于总长度,所以我们这里呢,需要把它写成等于大于等于,这样是保险起见,我们再来试一下。
哎,我们来等三秒钟。
好,是不是这个现在就已经停止了,那我们这个呢,就是没有问题的。
好,再下一步,我们要实现按钮的上一曲跟下一曲功能,因为按钮的响应事件都在一起,我们就要通过来源来判断当前点击的是哪个按钮,这个否则呢,我们要写在下面这里,然后我们判断来源对象等于按钮上一曲。
否则我们再判断来源对象等于按钮下一曲,我们先把这两个都写出来,那么如果等于上一曲的话,我们就要对当前的音乐进行一个停止,然后去播放上一首音乐,是这样的一个逻辑,好,我们现在呢,先要判断一下,先要判断什么呢?判断一下列表框。
线型选中项是不是负一,如果是负一,要让它返回。
如果是零,表示他选择的就是第一项,那么第一项再往前他也没有,所以说如果等于零或者等于一,都应该让它都应该让他返回。
因为这个时候呢,没有东西可以再往前播了,这已经是第一首了,那么同理,我们把下一曲这里也写完,下一曲呢,就就我们就要判断线型选中项是不是最后一首,如果等于最后一首。
取项目数,那么最后一首的项目是什么呢?这个索引是什么呢?就是项目数减一,这就是最后一首,让它返回。
如果等于负一。
等于负一表示一个都没选,那这个肯定也让他返回,因为这样下一曲也是没有什么意义的,我们现在来写上一曲里面的代码,先停止当前播放,停止播放音乐,这个没有问题。
然后我们播放这个还是要把它放成一个单独的子程序,因为在这里我们也需要进行调用。
好,我们现在再新建一个播放这样的一个代码。
好,我们把它放在下面这里。
这个叫做开始播放音乐,或者开始音乐播放啊都可以。
啊,刚才我多点了一个复制啊,我现在要重新复制一下这边。
好,重新创建一下。
开始。
音乐播放需要传递什么呢?我们看一下需不需要我们自己传递什么参数,它这里面呢,会根据当前的选中项自动的去进行处理,所以我们这里呢,就不需要单独的去写参数了,我们直接调用它,在调用它之前呢,提前设置好线型选中项就可以了,我们让线型选中项等于什么呢?
哎,我们看一下啊,线型选中项就等于上一个项目,那上一个项目就是现在的项目减一,它就是上一个项目。
然后我们下一曲的思路呢,就是让线型选中项给它加一,是不是这样的一个道理。
这就完成了上一曲跟下一曲,然后我们将这里的播放改为子程序,同样将菜单中的播放也改为子程序。
好,到此的话,我们就已经完成了这样的一个上一曲,下一曲。
还有一个就是当我们音乐播放完毕之后啊,它会如果有下一曲,它就会自动播放下一曲,那么音乐播放完毕呢,我们可以在时钟这里进行这样的一个判断。
在这里大家看到,当音乐播完之后,它会调用停止音乐播放,那么停止之后呢,我们可以再加一个。
这样这样的一个操作,如果说它下面还有,我们就可以让它继续往下走一走,如果它下面没有呢,就让它停止,这个时候我们直接调用按钮,下一曲被单击就可以了。
直接调用他的事件,让他去直接帮我们检查,就相当于我们在最后一首播放完毕之后,点击了下一首,好,我们来看一下。
啊,这里是返回空。
我们现在添加两首试一下。
播放第一首,把进度改到最后。
大家看到是不是第一首播完之后就直接跳到第二首,就表示我们这个播放是就是这个连续播放是没有什么问题的,那么到此我们这个程序可以说已经实现出来了啊已经实现出来了。
其实呢,整个程序来讲啊,没有什么特别难的一个地方,重点就是在于这些逻辑,这些逻辑的处理。
这些逻辑要添加音乐,然后播放,尤其是播放的时候,对应的滑块条,它会有一个进度显示,然后我们拖动的时候呢,可以去动态的改变它的进度。
再然后呢,就是右下角这里啊,一个时间的标签,上一首下一首,这个都不会太难,然后列表框这边呢,都是一些常规的添加或者删除,以及取标题这样。
虽然没有什么难的知识点,这节课重点就在于综合,将这些之前学到的内容,再加上一点新内容,把它组合成一个完整的程序,这个是对编程能力的一个锻炼,所以大家呢,下去之后要认真的把这一个做出来,要认真的做出来,如果有问题呢,可以直接到我们这个论坛上的火山板块进行提问,我们这里呢,有专门的火山这样的三个区啊,可以到这个问答区进行提问。
好,我们继续向后看,这里给大家布置几个课后作业。我们可以为音乐播放功能新增列表播放模式,可以支持单一循环,那也就是单首循环列表循环,从上往下,再从上往下播放模式啊,这样两种播放模式为音乐列表增加排序。
在菜单中加入向前移动,向后移动功能,可以将选定的歌曲移动到前面或后面,这个大家应该能明白是吧?右键点击歌曲的时候,可以把它放到上一首,可以把它换到下一首。
第三为列表框新增双击播放指定音乐的功能,那么这个就是给大家留的三个作业,大家在写写完这一课程序的时候呢,可以尝试再写一下这三个内容,看自己能不能独立的实现出来。

微信扫一扫

支付宝扫一扫

版权:资源来源于网络,版权归原创所有: 转载请注明出处:https://baipiaow.com/644.html

相关推荐
如何搭建一个网站?
搭建网站是现代社会中一个非常重要的技能,因为许多人和企业都需要一个有效的在线存在来展示自己的品牌和服务。在本文中,我们将探讨如何搭建一个成功…
墨信 网络资讯
日期:2023-06-25 点赞:3 阅读:764
系统问题的解决方法有哪些
Windows系统常见故障的处理方法 1、解决方案:右键我的电脑,选择属性,进入高级选项卡,在启动和故障恢复项选中系统失败栏里的将事件写入系…
安普 网络资讯
日期:2023-05-16 点赞:0 阅读:353
系统问题要怎么解决
win10电脑系统出问题怎么办啊 1、以上方法可能出现的问题就是初始化不成功,遇到这种问题该怎么解决呢,一就是重新装系统,二就是在高级选项中…
安普 网络资讯
日期:2023-05-16 点赞:0 阅读:1,141
url转换为html网址
url在线转换为html网址 将url在线转换为html网址可以使用一些在线工具,比如URL Encoder/Decoder,该工具可以将U…
安普 网络资讯
日期:2023-05-16 点赞:0 阅读:1,081
站点url填什么
url地址怎么填写 https://?wd=URL 其中,协议头是https,主机名是,资源路径是/s?wd=URL。在填写URL时,应该按…
安普 网络资讯
日期:2023-05-16 点赞:0 阅读:945
twitch和推特有关系吗
twitch和推特有关系吗 twitch和推特没巧态迟有关系。TWI是什么意思? Twitter推特。Twitter(通称推特)是一家美国社…
安普 网络资讯
日期:2023-05-16 点赞:0 阅读:979
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:9:00-16:00

客服电话

400-888-8888

客服邮箱

1736018948@qq.com

扫描二维码

关注微信公众号