安普 网络资讯 2022年10月2日
0 收藏 0 点赞 407 浏览 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

相关推荐
网站SEO的重要性
网站SEO是指通过优化网页内容、结构和链接来提高搜索引擎排名的技术。这种方法可以帮助您的网站在搜索引擎中获得更好的排名,从而吸引更多的访问者…
安普 网络资讯
日期:2023-01-14 点赞:1 阅读:1,029
外链对网站有哪些好处
SEO中外链的作用非常大,很多人都在做外链,是提高网站权重的有效手段之一。 SEO中外链可以提高网站权重和排名,让搜索引擎更容易找到网站。 …
安普 网络资讯
日期:2023-01-13 点赞:0 阅读:392
不懂代码如何搭建自己的网站?
很多朋友在搭建网站时会遇到这样的问题: 我想做个网站,但是不懂代码,如何去做呢? 如果你也有这样的困惑,那么接下来就来给大家分享一下我个人在…
安普 网络资讯
日期:2023-01-13 点赞:0 阅读:1,043
如何做好一个站长
如何做好一个站长 很多人都想做一个好站长,因为只有做一个好站长,才能给自己带来更多的收益,在这个信息时代,很多站长都希望做一个好域名。 所以…
安普 网络资讯
日期:2023-01-13 点赞:0 阅读:758
搭建网站制造基本原则
现在企业建站已经越来越普及,几乎每个企业都需要一个自己的网站,而这个网站在运营和推广上都会遇到一些问题。 今天我将为大家分享一个实用的建站方…
安普 网络资讯
日期:2023-01-13 点赞:1 阅读:439
实用的快速建站方法和网站制造基本原则
  网络营销是互联网+时代的销售方式,为企业带来了大量的商机,它是一种使用互联网技术和平台来促进产品,服务或品牌的销售与交易。   互联网时…
安普 网络资讯
日期:2022-11-26 点赞:0 阅读:999
发表评论
暂无评论

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

助力内容变现

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

点击联系客服

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

客服电话

400-888-8888

客服邮箱

1736018948@qq.com

扫描二维码

关注微信公众号