针对目前国内外Android市场上音乐播放软件存在的问题,本文根据用户多方面调查,对系统的功能及性能进行了需求分析。基于Android平台设计和开发了一个音乐播放客户端,对各个功能模块进行详细的设计与实现。重点对数据库、消息处理机制等核心技术及难点进行了研究。功能以及性能测试得到了 *通讯作者。
随着智能手机和终端的普及,相继出现了各类APP。基于Android 平台开发的手机应用有着基本的通用性,可以在各个厂商的手机中普遍安装和使用[1]。目前,国内外主流的基于Android 平台的音乐播放软件有天天动听、酷狗音乐、QQ 音乐等。但大多数一味的追求外观漂亮,功能强大,造成用户视觉疲劳, 手机资源占用太多, 多任务操作时响应较慢, 用户体验较差[2] [3]。
本文旨在研究开发一款基于Android平台的实用的个性化音乐播放客户端。
2. 系统需求分析 1) 总体需求分析 针对Android 手机用户,设计与实现一款简洁大方、易于操作的个性化音乐播放客户端,能够支持MP3、WAV 等多种音频格式。
2) 功能需求分析 基本播放控制功能:播放/暂停、选择上一首/下一首、选择播放模式、显示歌词、拖动播放进度条、打开文件管理、后台播放。
侧滑菜单功能:扫描歌曲、切换播放模式、换背景、睡眠、退出、系统设置。
歌曲索引及定位功能:当内存中歌曲数量较多时,本文提供两种查找方式:a) 关键字查找:根据用户输入的文字进行关键字索引。b) 九键首字母查找:以字首字母为索引,并定位到相应歌曲。
3) 性能需求分析 为了在基于Android 的手机上达到良好的用户体验,要求:a) 响应速度快,歌曲播放/暂停、选择上一首/下一首,拖动进度条等操作均不能超过5 s;b) 人性化的播放界面,体现出简洁大方、易于操作的特点;c) 无缝衔接。程序运行时,要保证一些突发事件的处理,如电话、短信等,场景切换过程中需要做到无缝衔接[2] [4]。
3. 系统设计与实现 3.1. 软件架构设计 图1 为本文系统的软件架构图,分为音乐播放界面层和音频处理层两层。界面层与用户直接交互。
音频处理层对音乐文件进行处理,播放SD 卡中的mp3、wav、midi、wma 等音乐文件。首先在数据提取层将音乐文件从SD 卡中提取出来,传送到数据处理层进行封装,并将其传送到解码层,使用相应的解码器解码文件,并进行播放。双箭头表示两方进行数据交互,单箭头表示单向传输数据。