
姓 名:
学 院: 信息工程学院
专业班级:
指导教师:
设计时间:2012年4月至2012年5月
摘 要
Android是一个开源系统技术,它底层是基于Linux操作系统,本音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面截图以及主要功能运行流程图,还对开发过程中遇到的问题和解决方法进行了详细的讨论。该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示、在线播放、音乐下载等功能于一体,性能良好,在Android系统中能运行。MP3的全名是MPEG Audio Layer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层的探讨,所以对具体的压缩算法不作深究
关键词:Android;开源系统;Linux;音乐播放器
第一章 引 言
1.1 项目背景
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在市场上主要有三个手机操作系统——Windows Mobile,Symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上又有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的音乐播放器。
2.2 编写目的
现金社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,可以播放本地的MP3音乐,也可以播放在线的MP3音乐。本设计所实现的主要功能是播放MP3音乐文件,并且能够控制播放,暂停,停止,上一曲,下一曲,音量调节,视觉外观,播放列表和歌曲文件管理操作等多种播放控制功能,界面简明,操作简单。
本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使本人更加熟练Android的技术和它在市场上的特点。
第二章 系统开发
2.1 功能需求(用例图分析)
根据项目的目标,我们可以获得项目系统的基本需求,一下从不同角度开描述系统的需求,并且使用用例图来描述。系统的功能需求,我们分成五部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展需求和音乐下载需求。一下分别描述:
2.1.1 播放器的基本控制需求
| 用例名称:播放 |
| 参与者:用户 |
| 目标:使得用户可以播放在播放列表中选中的歌曲 |
| 前置条件:播放器正在运行 |
| 基本事件流:1、用户单击“播放”按钮; 、播放器将歌曲和播放信息发送到播放Service中; 、播放歌曲。 |
| 用例名称:暂停 |
| 参与者:用户 |
| 目标:使得用户可以暂停正在播放的歌曲 |
| 前置条件:歌曲正在播放且未暂停或停止 |
| 基本事件流:1、用户单击“暂停”按钮; 、播放器将暂停歌曲信息发送到播放的Service中; 、播放器暂停当前播放的歌曲。 |
| 用例名称:停止 |
| 参与者:用户 |
| 目标:使得用户可以停止正在播放的歌曲 |
| 前置条件:歌曲处于播放或暂停状态 |
| 基本事件流:1、用户单击“停止”按钮; 、播放器将停止歌曲信息发送到播放的Service中; 、播放器停止当前播放的歌曲。 |
| 用例名称:上一首/下一首 |
| 参与者:用户 |
| 目标:使得用户可以听上一首或下一首歌曲 |
| 前置条件:播放列表有2首或2首以上的歌曲 |
| 基本事件流:1、用户单击“上一首”或“下一首”按钮 、播放器停止当前播放的歌曲,并开始播放上一首或下一首歌曲。 |
| 用例名称:播放清单 |
| 参与者:用户 |
| 目标:使得用户可以查看播放清单 |
| 前置条件:程序运行 |
| 基本事件流:1、用户单击“清单”按钮; 、播放器进入播放清单页面(歌曲不停止播放) |
| 用例名称:播放 |
| 参与者:用户 |
| 目标:使得程序播放选中的歌曲 |
| 前置条件:该歌曲当前未播放,如果正在播放,则跳转到播放页面 |
| 基本事件流:1、用户单击“播放”按钮; 、播放器启动播放Service播放歌曲,并且跳转到播放页面。 |
| 用例名称:详细 |
| 参与者:用户 |
| 目标:使得程序显示选中的歌曲的详情 |
| 前置条件:程序运行中 |
| 基本事件流:1、用户单击“详细”按钮; 、弹出一个未覆盖全部的Activity显示歌曲详细信息。 |
| 用例名称:增加 |
| 参与者:用户 |
| 目标:打开本地MP3列表 |
| 前置条件:程序运行中 |
| 基本事件流:1、用户单击“增加”按钮; 、程序跳转到本地列表页面。 |
| 用例名称:移除/全部移除 |
| 参与者:用户 |
| 目标:移除选中或全部歌曲 |
| 前置条件:程序运行中 |
| 基本事件流:1、用户单击“移除/全部移除”按钮; 、移除选中或全部歌曲。 |
| 用例名称:设定 |
| 参与者:用户 |
| 目标:使得程序进入设定页面 |
| 前置条件:程序运行中 |
| 基本事件流:1、用户单击“设定”按钮; 、播放器进入设定页面。 |
图2.3 播放器设定
| 用例名称:播放模式 |
| 参与者:用户 |
| 目标:使得程序进入播放模式设定状态 |
| 前置条件:程序运行中 |
| 基本事件流:1、用户单击“顺序”、“随机”、“单曲”按钮; 、播放器进入选中模式播放状态。 |
| 用例名称:歌词显示 |
| 参与者:用户 |
| 目标:使得程序进入歌词显示设定状态 |
| 前置条件:程序运行中 |
| 基本事件流:1、用户单击“歌词开关”按钮; 、播放器显示或关闭歌词。 |
图2.3 播放器设定
| 用例名称:SDcard |
| 参与者:用户 |
| 目标:使得程序进入SDcard目录 |
| 前置条件:程序运行中 |
| 基本事件流:1、用户单击“SDcard”选项; 、程序进入SDcard目录。 |
2.2.1 音乐播放器的系统流程图
图2.5.1 流程图
2.2.2 系统功能表(表2.1)和系统功能结构图(图2.5.2)
| 功能类别 | 子功能 | 子功能 |
| " 播放列表 | 播放列表菜单 | 更新列表 |
| 退出程序 | ||
| " 歌曲菜单 | 播放音乐 | |
| 下载音乐 | ||
| " 播放界面 | 播放 | 播放歌曲->启动服务->时间更新 |
| 暂停/继续 | 暂停歌曲->启动服务->时间暂停 | |
| 停止 | 停止歌曲->启动服务->时间停止 | |
| 上一首 | 播放列表索引变化->寻找上一个ID | |
| 下一首 | 播放列表索引变化->寻找下一个ID | |
| " 播放界面菜单 | 设置 | |
| 添加音乐 | ||
| 隐藏界面 | ||
| 下载器 | 清空已下载 | 清空已下载完成列表 |
| 退出下载器 | 退出下载器 |
图2.5.2系统功能结构图
2.3 详细设计
2.3.1 文档结构
2.3.2 类结构
2.3.3 数据库设计
数据库ER关系图
数据库表名
数据库表结构
2.4 初步设计界面图
2.4.1 在线列表
2.4.2 下载器界面
2.4.3 播放器界面
2.4.4 音乐设置界面
2.4.5 默认本地音乐文件夹界面
2.4.6 单击某条记录弹出对话框
