版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、音乐播放器详细设计.引言随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力 的方式之一,音乐成了我们生活工作中的一个重要的部分。而 3G时代的到来,手 机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。编写目的为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、 组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。项目背景本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。参考资料1
2、彭笑重庆大学出版社软件工程“软件计划与可行性分析”2靳岩、姚尚明 人民邮电出版社 Android开发入门与实践3可行性分析4音乐播放器需求分析书5音乐播放器总体设计说明书项目开发计划实施计划:zzzzzzzzzzzzzzzzzzzzzzz阶段名称负责人需求分析杨挺、李雪梅总体设计李雪梅、杨挺详细设计李雪梅、杨挺软件测试李雪梅、杨挺在技术方面,编程知识比较缺乏,对有些与项目相关的软件不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库 的构架和软件功能的设计。.总体设计项目目的本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放 MP3等格式的音乐文件, 并且
3、能控制播放,暂停,停止,音量控制,选择上一曲,选择下 一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。软件系统检测到错误行为时,报告错误,并提示处理操作。软件运行环境硬 件:Android操作系统手机系统软件:Android 2.2 - 4.0版本支撑软件:Eclipse 7.5、ADT 1.5需求概述zzzzzzzzzzzzzzzzzzzzzzz根据项目,我们可以获得项目系统的基本需求,从功能需求、界面需求、性能需求、可靠性要求四个方面来描述系统的需求,再分别对各个需求进行分析。条件与限制开发人员开发经验严重不足;编程人员对开发工具不熟悉
4、,编程经验非常有限;具备运行环境。软件结构博触列袤蓝牙传送诋为於声单 曲 循 环播放界面控制返回上一级.程序描述歌曲界面控制歌曲界面控制可分为:播放/暂停/停止模块、上一曲/下一曲zzzzzzzzzzzzzzzzzzzzzzz模块、音量模块。播放/暂停/停止模块流程图:程序逻辑:当用户点击播放 暂停停止按钮时,播放器就对当前播放事件监听从而控制当前音乐的播放 暂停停止,部分关键代码如下:zzzzzzzzzzzzzzzzzzzzzzz播放按钮playPauseBtn.setOnClickListener(new OnClickListener() public void onClick(View
5、 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.putEx
6、tra(cmd, cmd);将命令广播出去sendBroadcast(i); 发送广播 );上一曲下一曲模块流程图:zzzzzzzzzzzzzzzzzzzzzzz程序逻辑:当用户点击上一曲 下一曲按钮时,播放器就对当前播放事zzzzzzzzzzzzzzzzzzzzzzz件监听,从音乐列表中转换音乐,从而控制当前音乐的上一曲下一曲,关键代码如下:上一曲键事件监听器previousBtn.setOnClickListener (new OnClickListener() public void onClick(View v) Intent i = new Intent(MusicService.M
7、USIC_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
8、););设置SeekBar的监听事件sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener()当停止拖动时调用的方法zzzzzzzzzzzzzzzzzzzzzzzpublic void onStopTrackingTouch(SeekBar seekBar) public void onStartTrackingTouch(SeekBar seekBar) 当SeekBar拖动时会执行此方法public void onProgressChanged(SeekBar seekBar, int prog,boolean fromUser)
9、 /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);/饼拖动的进度传进 ServicesendBroadcast(i);sb.setProgress(progress););
10、音量模块流程图:zzzzzzzzzzzzzzzzzzzzzzz程序逻辑:声音有两个按钮控制,一个增加声音和一个减少声音。通过这两个按钮用户可以调节播放音乐的声音大小,用 AudioManager组件对声音的大小进行增减,最大为 7,最小为0。当用户点击声音按钮时,若是增按钮,对声音进行增加,若是减按钮对声音进行减小。zzzzzzzzzzzzzzzzzzzzzzz部分代码如下:获取点击事件voiceUp = (ImageButton)findViewById(R.id.music_voic_up);/音量增加voiceDown (ImageButton)findViewById(R.id.mus
11、ic_voic_down);音量增减小执行事件audiomanage=(AudioManager)getSystemService(Context.AUDIO_SERVICE);voiceDown.setOnClickListener(new OnClickListener() public void onClick(View v) audiomanage.adjustWume(AudioManager.ADJUST_LOWER,0);Volume=audiomanage.getStreamoiume(AudioManager.STREAM_RING);if(volume0)volume-;a
12、udiomanage.setRingerMode(volume););/声音控相按钮声音增加voiceUp.setOnClickListener(new OnClickListener() zzzzzzzzzzzzzzzzzzzzzzzpublic void onClick(View v) audiomanage.adjustWume(AudioManager.ADJUST_RAISE, 0);volume=audiomanage.getStreamVlume(AudioManager.STREAM_RING);if(volume7)volume+;audiomanage.setRingerMode(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年足浴店装修合同二篇
- 2027年太原购房合同二篇
- 合规转利润:降本增效全指南(2026)《GBT 36432-2018智能家用电器系统架构和参考模型》
- 合规转利润:降本增效全指南(2026)《GBT 36203-2018分子筛 分类》
- 合规转利润:降本增效全指南(2026)《GBT 36014.1-2018工业过程控制装置 辐射温度计 第1部分:辐射温度计技术参数》
- 自然保护区社区共管联络工操作水平评优考核试卷含答案
- 数字资产管理师测试验证模拟考核试卷含答案
- 矿压观测工岗前班组协作考核试卷含答案
- 汽车变速器装调工安全检查评优考核试卷含答案
- 水运工程施工工岗中岗后考核试卷含答案
- 急性肺栓塞诊断和治疗指南(2025 版)
- 2026年云南省综合类事业单位招聘考试公共基础知识真题试卷及参考答案
- 2026秋季开学教师大会政教(德育)副校长讲话:立德树人守初心笃行实干启新程
- 《非物质文化遗产概论(第三版)》全套教学课件
- 化粪池清掏安全协议书
- 人教版高中英语选择性必修一教学设计
- 医保工作人员信息与网络安全保密协议书(2篇)
- DL-T5798-2019水电水利工程现场文明施工规范
- 军队临床医学题库及答案
- 《煤矿生产安全事故应急预案》会审意见
- 崇明西部分区单元(CM3)地质灾害危险性评估报告(2020年度更新成果)
评论
0/150
提交评论