音乐播放器的详细设计

  • 格式:doc
  • 大小:54.00 KB
  • 文档页数:6

音乐播放器详细设计
1.引言
随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。

而3G时代的到来,手机移动应用越来越普遍。

此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。

1.1 编写目的
为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。

本文档供项目组成员,软件开发人员参考。

1.2项目背景
本项目由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。

该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。

1.3 参考资料
[1] 清华IT《android应用开发》
[2] 可行性分析
[3] 《音乐播放器需求分析书》
[4] 《音乐播放器总体设计说明书》
2. 总体设计
2.1 项目目的
本项目的目的是开发一个可以播放主流的音乐文本格式的
播放器。

设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取
存储卡播放等多种播放控制,界面简明,操作简单。

软件系统检测到错误行为时,报告错误,并提示处理操作。

2.2 软件运行环境
硬件:Android操作系统手机
系统软件:Android 2.2 -- 4.0版本
2.3 需求概述
根据项目,我们可以获得项目系统的基本需求,从功能需求、界面需求、性能需求、可靠性要求四个方面来描述系统的需求,再分别对各个需求进行分析。

并实现具体功能。

2.4 软件结构
音乐播放器
曲库功能菜单随便听听搜库
退出播





播放暂









退

3. 程序描述
3.1 歌曲界面控制
歌曲界面控制可分为:播放/暂停/停止模块、上一曲/下一曲
模块、音量模块。

3.1.1 播放/暂停/停止模块
流程图
开 始 点击事件 是否为播放暂停 暂停 停止
播放
获取当前状态
播放歌曲
结 束 是否为播放 是否为播放 暂停歌曲
停止歌曲
获取当前状态 获取当前状态
程序逻辑:
当用户点击播放\暂停\停止按钮时,播放器就对当前播放事
件监听从而控制当前音乐的播放\暂停\停止,当点击播放按钮时,
判断当前的状态值是什么状态 如果是播放状态并发送暂停的命令,
如果是暂停的状态并发送播放的命令。

如果是播放到一半的话,继
续播放的命令
3.1.2 上一曲\下一曲模块
流程图:
开 始 结 束 单击事件
上一曲 下一曲
获取当前歌曲位置 获取当前歌曲位置
有无后继
有无前驱 跳转到上一曲目 跳转到下一曲目
程序逻辑:
当用户点击上一曲\下一曲按钮时,播放器就对当前播放事件监听,从音乐列表中转换音乐,从而控制当前音乐的上一曲\ 下一曲,创建上一曲的监听器监听上一曲,并创建下一曲的监听器监听下一曲。

//设置SeekBar的监听事件
setOnSeekBarChangeListener(new OnSeekBarChangeListener() { //当停止拖动时调用的方法
public void onStopTrackingTouch(SeekBar seekBar) { }
public void onStartTrackingTouch(SeekBar seekBar) { }
//当SeekBar拖动时会执行此方法
public void onProgressChanged(SeekBar seekBar, int prog, boolean fromUser) {
//fromUser参数意思是判断拖动是否是用户用手拖动的
if (fromUser == true && Math.abs(prog - progress) >= 5) { progress = prog;
Intent i = new Intent(MusicService.MUSIC_CONTROL);
int cmd = MusicService.CMD_SEEK;//发送拖动的命令
i.putExtra("cmd", cmd);
i.putExtra("progress", progress);//讲拖动的进度传进Service
sendBroadcast(i);
sb.setProgress(progress);
}
}
});
}
4.软件测试
根据制定的软件实施计划,对软件进行测试,主要目的为了找出软件中存在的各种错误和缺陷,设计出更高效的软件测试方案。

本项目的该音乐软件采用动态执行测试,对软件的功能,结构进行测试,通过运行该软件来检验程序的各个功能是否能够正确运行,各个模块之间能否进行无差错的转换,能否实现对歌曲的无差错播放,控制。