孙东琦
摘 要:当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本文主要是对Android系统上音乐播放器应用程序的设计与实现进行讨论。本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写,同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、以及歌词开闭状态的友好设置。
关键词:Android;开源系统;音乐播放器
一、研究背景
随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
二、系统的总体设计
软件功能设计是使整个软件能基本实现音乐的播放、上一首、下一首、暂停等功能,能让用户通过本软件欣赏音乐。在线音乐浏览和下载,背景皮肤的切换等功能更好的增強用户体验。将系统分成几个相对独立的模块。分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。在欢迎界面模块的设计中,应用了LinearLayout布局和Animation效果。整体为LinearLayout布局,其中包含两个ImageView控件,设置两个图片为垂直布局。本LinearLayout布局的id值是 llSplash,背景颜色为“#ffffffff”。欢迎界面模块主要是用于增强用户体验,让用户较容易接受本软件。在编写代码前,首先要定义一个Animation类对象,以便编写代码时调用该类中方法。当进入主界面,默认是Tabhost,且此Tabhost包含三个选项卡,第一个则为播放列表模块。播放列表模块中是一个ListView控件,ListView中的item采用LinearLayout布局,其中包含了歌曲名称信息、歌手名称信息和歌曲时长信息,此三项用TextView显示。单机menu建,会出现menu菜单,显示歌曲排序信息,分别按照歌名、歌手、时长排序。歌曲播放界面相对较为复杂的布局,采用了多个LinearLayout布局和TextView、SeekBar、ImageButton等控件。在TextView应用到了跑马灯效果,显示较长的歌曲名称。对ImageButto控件设置了单击效果,重新定义了SeekBar控件的风格,使得界面更加人性化,增强了用户体验。
三、结语
音乐播放器软件实现了播放器的基本功能:播放,暂停、上/下一首、歌曲排序、文件浏览等功能。运用的系统平台是现今最热门的Android系统,是一个开源的基于Linux系统的手机平台。是以Java语言编写SQLite数据库支持SharePreference配置文件的组合方式进行数据管理。实现了音乐播放器的系统编程。本次程序设计,对播放器的系统结构框架做了精心的构思与设计,采用主要开发工具是Eclipse6.0+Java语言的支持,Android Development Tool的插件,和Android SDK2.3版本的全面结合,才使整个音乐播放器系统得以实现。
【参考文献】
[1]靳岩 姚尚朗著.Google Android开发入门与实战[M]. 北京:清华大学出版社,2009-07-01.
[2]高昂著. 支持动态语言的Android平台[M]. 北京:人民邮电出版社, 2009-05-07.
[3]毕广吉.Java程序设计实例教程[M].北京:冶金工业出版社,2007.
[4]何玉杰.数据库原理与应用[M].北京:机械工业出版社,2007.