基于Android的音乐播放器的设计
2018-05-14张春红
张春红
【摘要】本文采用MVC框架,视图层用listview、gridview、ActionBar+ViewPager等组件在四大布局中根据需求布局,xml做相应优化,设计开发出一款音乐播放器。
【关键词】Android;移动互联网;智能手机;软件设计
一、播放器设计目标
本系统属于用户平常所用的音乐播放器。可以便利用户在平常的生活中对音乐文件的操纵。其设计要满足以下方面。
(1)界面雅观友爱;(2)没有门槛要求,操纵起来都很简单;(3)能够对音乐文件进行有效方便的管理;(4)让用户充分感受到软件的个性化方面;(5)软件应能做到最大限度地实现易保护性和易操纵性。
二、播放器的功能需求分析
根据项目所确立的目的,我们可以阐述出项目系统所需要的根本需求。下面讲解播放器的各类基本节制需求。
首先,主界面会扫描手机的内存卡里的本地歌曲,然后,依照手机里存有的歌曲简洁明了地表现出来,在歌曲的常规操纵方面有播放、暂停、上一首、下一首。在歌曲信息方面的控制有进入歌曲列表、进入专辑列表、检查歌词、拖动歌曲进度等。
用户同时可以使用前一曲,后一曲等对歌曲的正常操纵。在歌曲信息方面的控制有进入歌曲列表、进入专辑列表、检查歌词、拖动歌曲进度等。
三、总体设计路线
因为安卓软件的开发和WEB的开发不同,首先,这个界面是一个很小的屏幕,但是在这个很小的屏幕上却要表达清楚很多的功能,让用户得以接受,我们要认真仔细地思考一下各项组件的摆放性问题,还要让屏幕的转动更加灵活。其次,Android程序主要应用在手持设备上,不论用户是单手操作还是双手操作,都必须考虑到组件摆放的易操作性,所以要考虑到组件摆放的区域问题,除此之外,在UI设计的编写上也要考虑到代码的可更改问题,如果单纯的用XML文件实现,那么,在软件的进一步更改开发上可能会遇到很大问题,所以该系统的大部分界面都是通过xml和Java代码共同实现的。再次,在达成音乐播放器的界面计划后就要对音乐播放器的功能模块计划了。对音乐播放器而言,最主要的仍是实现音乐播放的功效,全部的音乐播放功效是实现,音乐文件是读,读信息的第一部门的音频文件。最后,才是对音乐播放器的个性化设置,所以要做好这件事必须要做好充分的准备。
四、音乐播放模块设计
为了让音乐播放器更人性化,能够让用户在操纵这个软件的时候更轻松随意,在进入到音乐播放界面后,用户可以在这里对音乐进行各项常规操纵,音乐播放的进度条也在这里,让用户能够感觉到很舒适,并且用户能够很简洁明了地观看到曲目的各项信息。如果用户在这里用屏幕划动的话,用户还可以查看到歌曲的同步歌词。
五、歌曲列表模块
歌曲列表界面最主要的功能是它会主动获得各类歌曲信息,在内存里获取。在获取的列表中只显示歌曲所拥有的一些基本属性,比如说歌名以及演唱者还有歌曲时长等,当用户在点击此列表时就会收到监听,然后调用代码做出相应的逻辑处理。
六、播放音轨SeekBar
为实现Runnable接口在其Run方法中发送Handler的消息,音轨与歌曲的进度同步地实现是播放器最主要的一个地方。为了用来表现当前歌曲播放的进度的时候和全部歌曲的长度,音轨设置了两个TextView。方法SeekBar.setMax()会在这个歌曲刚刚开始播放的时候被调用,在此方法调用后获得歌曲的最大长度设置在进度条中SeekBar.setMax(),SeekBar.setProgress(1)这个方法是为了设置我们歌曲进度条的起先位置。
然后经由过程Handler类来使得这个Android的线程来首先执行,经由过程Handler类来为线程与线程之间搭建起了通讯的桥梁,然后经由过程实Runnable接口在其Run方法中发送Handler的消息。经由过程run方法发向Handler类。这样的话,Handler类就将对各种各样的信息来进行各种不同的代码处理,这都取决于run方法发送而来的消息。
通过这种Handler的发消息机制就能获得进度条进度,然后我们需要发送延迟消息一秒一发,我们在Handlermessage方法中每秒接受发送过来的消息并时刻更新进度,然后我们就会看到进度条一秒往前滚动一次。
当SeekBar的各位置被用户所举行点击时,他就会主动地监听位置,来执行相对应位置的表现。这样就能够使得歌词会不断地变更,但是进度条上面的游标却不断地挪动。
七、播放调节功能实现
各个按钮是水平放置的。每个按钮的功效分别是上一首;播放;下一首功能按钮。在这里利用的是结构中的线性结构,将其布局的方向方式写成水平方向。
其中API-Mediaplayer是Android自身的一个原生封装完整的API,然而在成功调用这个接口一般需要调其API方法中的reset方法让其初始化。然后还需要调用Prepare以及接下来的start方法使得音乐得以播放。调用MediaPlayer.Stop()的话就可以让歌曲停止。
通过系统的体系结构和设计方案的播放器的框架程序设计,主要的开发语言和工具的支持,eclipsejavaandroid開发工具插件和AndroidSDK相结合,使得整个音乐播放系统得以全面实施。
参考文献
[1]张利国,代闻,龚海平.Android移动开发案例详解[M].北京:人民邮电出社,2012.
[2]何红辉.Android源码设计模式解析与实战[M].北京:人民邮电出版社,2015.