




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
音乐播放器详细设计1. 引 言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 1 彭 重庆大学出版社软件工程“软件计划与可行性分析”2 靳岩、姚尚明 人民邮电出版社 Android开发入门与实践3 可行性分析4 音乐播放器需求分析书5 音乐播放器总体设计说明书 1.4 项目开发计划 实施计划: 阶段名称 负责人 需求分析 杨挺、李雪梅 总体设计 李雪梅、杨挺 详细设计 李雪梅、杨挺 软件测试 李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库 的构架和软件功能的设计。2. 总体设计2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境硬 件:Android操作系统手机系统软件:Android 2.2 - 4.0版本支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述 根据项目,我们可以获得项目系统的基本需求,从功能需求、 界面需求、性能需求、可靠性要求四个方面来描述系统的需求,再分别对各个需求进行分析。 2.4 条件与限制开发人员开发经验严重不足;编程人员对开发工具不熟悉,编程经验非常有限;具备运行环境。 2.5 软件结构 3. 程序描述 3.1 歌曲界面控制 歌曲界面控制可分为:播放/暂停/停止模块、上一曲/下一曲 模块、音量模块。3.1.1 播放/暂停/停止模块 流程图:获取当前状态播放开 始 点击事件 停止暂停获取当前状态获取当前状态是否为播放 是否为播放 N N Y Y停止歌曲暂停歌曲是否为播放暂停 N结 束播放歌曲 Y程序逻辑: 当用户点击播放暂停停止按钮时,播放器就对当前播放事件监听从而控制当前音乐的播放暂停停止,部分关键代码如下: /播放按钮 playPauseBtn.setOnClickListener(new OnClickListener() public void onClick(View v) int cmd = 0; Intent i = new Intent(MusicService.MUSIC_CONTROL); /判断当前的状态值是什么状态 如果是播放状态 if (status = MusicService.STATUS_PLAYING) cmd = MusicService.CMD_PAUSE; /发送暂停的命令 else if (status = MusicService.STATUS_STOPPED) cmd = MusicService.CMD_START; /发送播放的命令 else cmd = MusicService.CMD_RESUME; /继续播放的命令 i.putExtra(cmd, cmd); /将命令广播出去 sendBroadcast(i); /发送广播 );3.1.2 上一曲下一曲模块 流程图:开 始 单击事件上一曲下一曲获取当前歌曲位置获取当前歌曲位置有无后继有无前驱 N N Y Y跳转到下一曲目跳转到上一曲目结 束程序逻辑: 当用户点击上一曲下一曲按钮时,播放器就对当前播放事件监听,从音乐列表中转换音乐,从而控制当前音乐的上一曲下一曲,关键代码如下:/上一曲键事件监听器 previousBtn.setOnClickListener (new OnClickListener() public void onClick(View v) Intent i = new Intent(MusicService.MUSIC_CONTROL); int cmd = MusicService.CMD_PREV;/发送前一首的命令 i.putExtra(cmd, cmd); sendBroadcast(i); ); / 下一曲键事件监听器 nextBtn.setOnClickListener(new OnClickListener() public void onClick(View v) Intent i = new Intent(MusicService.MUSIC_CONTROL); int cmd = MusicService.CMD_NEXT; i.putExtra(cmd, cmd); sendBroadcast(i); ); /设置SeekBar的监听事件 sb.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); ); 3.1.3 音量模块流程图:开 始 单击事件 NN音量增 Y获取当前音量 Y音量是否为0获取当前音量 N音量是否为7音量减1 Y N音量加1 结 束 程序逻辑: 声音有两个按钮控制,一个增加声音和一个减少声音。通过 这两个按钮用户可以调节播放音乐的声音大小,用AudioManager 组件对声音的大小进行增减,最大为7,最小为0。当用户点击 声音按钮时,若是增按钮,对声音进行增加,若是减按钮对声音 进行减小。 部分代码如下: /获取点击事件 voiceUp = (ImageButton)findViewById(R.id.music_voic_up); / 音量 增加 voiceDown (ImageButton)findViewById(R.id.music_voic_down); /音量 增减小 执行事件 audiomanage=(AudioManager)getSystemService( Context.AUDIO_SERVICE); voiceDown.setOnClickListener(new OnClickListener() public void onClick(View v) audiomanage.adjustVolume( AudioManager.ADJUST_LOWER,0); Volume=audiomanage.getStreamVolume( AudioManager.STREAM_RING); if(volume0) volume-; audiomanage.setRingerMode(volume); ); / 声音控制按钮声音增加 voiceUp.setOnClickListener(new OnClickListener() public void onClick(View v) audiomanage.adjustVolume(AudioManager.ADJUST_RAISE, 0); volume=audiomanage.getStreamVolume( AudioManager.STREAM_RING); if(volume7) volume+; a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版机柜合同模板
- 教师签订劳动合同范例二零二五年
- 五人合伙合同样本
- 经济合同担保
- 全新美容院转让协议二零二五年
- 幼儿园课程游戏化实施方案
- 2025年UV无影胶水项目发展计划
- 住建部eps合同样本
- 课堂教学中的师生互动
- 代理产品区域合同标准文本
- 2025年中国艾草行业市场现状、发展概况、未来前景分析报告
- 防走失应急预案
- 临床实验室管理学学习通超星期末考试答案章节答案2024年
- 中式烹调师理论知识测试题与参考答案
- 氧化还原反应配平专项训练
- 低压电工培训教案
- 外科护理风险
- 2024年执业助理医师实践技能考试体格检查
- FURUNO 电子海图 完整题库
- 2020年全国硕士研究生招生考试《思想政治理论》真题及解析
- 浙江省中小学心理健康教育课程标准
评论
0/150
提交评论