《简易音乐播放器报告》由会员分享,可在线阅读,更多相关《简易音乐播放器报告(18页珍藏版)》请在金锄头文库上搜索。
1、音乐播放器报告书 项目名称:简易音乐播放器 小组编号:E 小组成员:郭元坤、边东东、 牛孟强、邢棕、王超 目录第1章 项目组详情1第2章 系统需求分析12.1 功能需求12.1.1 播放器的基本控制需求12.1.2 功能需求分析22.2 系统结构图和流程图22.3 系统界面需求3第3章 详细设计33.1 界面设计33.1.1 播放器的进入界面33.1.2 播放器主界面63.2 功能实现73.2.1 播放器音轨的实现73.2.2 播放器播放、暂停等功能83.2.3 数据共享机制10第4章 总结12第1章 项目组详情E组:组长:郭元坤组员:边东东、牛孟强、邢棕、王超小组成员分工情况:组长郭元坤主要
2、研究音乐播放器系统的需求分析兼读取SD信息中的.mp3文件开发。而其它功能实现是由边东东、牛孟强、邢棕、王超来实现的。其各自的负责的主要分工如下:边东东:音乐播放界面和音乐的播放、暂停、上一曲、下一曲,音轨是由我们和边东东、牛孟强实现的。牛孟强:把从SD卡中读取到的.mp3文件通过列表的方式显示在主页上,还有菜单功能的实现。包括退出功能和搜索音乐文件功能邢棕和王超:主要负责音乐播放器系统的“设置”界面和功能实现,包括歌词图片的下载和显示还实现了定时退出的功能。第2章 系统需求分析2.1 功能需求2.1.1 播放器的基本控制需求根据项目的目标,我们们可获得项目系统的基本需求,一下从不同的角度来描
3、述系统的需求,并且使用用户用例图来描述,系统的功能需求,我们们分成两部分来概括,即播放器的基本控制需要,播放器友好界面需求。播 放暂停停止上一曲下一曲在播放器正在运行时,用户单击“播放”按钮,播放器将播放选中的播放列表中的音乐,并同时显示当前进度;当歌曲未暂停或停止时,用户单击“暂停”按钮,播放器将进行暂停状态;播放器正在播放或暂停时,用户单击“停止”按钮,播放器将停止播放或暂停时,用户点击“上一首”或者“下一首”按钮,播放器将播放上一首或下一首歌曲。2.1.2 功能需求分析从时序图中可以看出播放器中信息发送和调用过程主界面点击进入按钮播放列表后台service播放界面选择歌曲播放播放serv
4、ice播进入放列表播放页面发送参数,调用后台service播放,返回播放2.1.3 系统结构图和流程图主界面进入播放页面播放列表是否点击要播放的歌曲音乐播放结束2.1.4 系统界面需求播放器界面要求布局合理,简约,颜色舒适,控制按钮友好,能让用户一眼就能看出各个按钮的作用及操作方法。能实现要求的功能,但又不重复。要考虑到不同手机屏幕大小可能不一样,应尽量兼容大多数手机屏幕尺寸,使之显示无障碍。第3章 详细设计3.1 界面设计3.1.1 播放器的进入界面Android的每一个可视化界面,为了使界面更加美观,在此处运用了老电视关闭动画效果,使其产生动画效果,界面更加友好,代码如下:public b
5、oolean onKeyDown(int keyCode, KeyEvent event) if (keyCode = KeyEvent.KEYCODE_BACK) Intent intent = new Intent(LocalPlayMusicActivity.this,LocalTabMusicActivity.class);startActivity(intent);finish();return true;/ 播放音乐protected void play() flag = PLAY;playbtn.setImageResource(R.drawable.pause_button);
6、Intent intent = new Intent();intent.setAction(org.music.service.LocalMusicService);intent.putExtra(op, PLAY);startService(intent);/ 暂停protected void pause() flag = PAUSE;playbtn.setImageResource(R.drawable.play_button);Intent intent = new Intent();intent.setAction(org.music.service.LocalMusicService
7、);intent.putExtra(op, PAUSE);startService(intent);/ 上一首protected void latestOne() if (position = 0) position = _ids.length - 1; else if (position 0) position-;stop();setup();play();/ 停止播放音乐private void stop() Intent intent = new Intent();intent.setAction(org.music.service.LocalMusicService);intent.p
8、utExtra(op, STOP);startService(intent);/ 下一首播放音乐protected void nextOne() if (position = _ids.length - 1) position = 0; else if (position _ids.length - 1) position+;stop();setup();play();/ 进度条改变protected void seekbar_change(int progress) Intent intent = new Intent();intent.setAction(org.music.service
9、.LocalMusicService);intent.putExtra(op, PROGRESS_CHANGE);intent.putExtra(progress, progress);startService(intent);3.1.2 播放器主界面Android的每一个可视化界面,都有其唯一的布局配置文件,该文件里面有各种布局方式,和各种资源文件。如:图像,文字,颜色的引用,程序在运行时,可以通过代码对各配置文件进行读取。这样就可以形成不同的可视化界面和炫丽的效果。播放器主界面是一个Activity,Android工程在每次个activity启动的时候会首先执行Oncreate()方法,如
10、下代码:protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(R.layout.music_play);该方法执行界面初始化操作,该方法主要执行界面的初始化操作,Activity有个设置布局的方法:Context.setContentView(layoutResID),参数为资源ID,该Id在工程目录res/layout下,主界面布局文件名为Musi
11、cPlay。下面是music_play.xml布局文件代码结构如下: 在相对布局下嵌套了两个相对布局,第一个实现歌曲基本信息的显示,其中用来显示专辑图片,用来显示播放歌曲时的进度条,另一个则用来显示上一曲,开始/暂停,下一曲等按钮。3.2 功能实现3.2.1 播放器音轨的实现不管是从界面外观还是从功能上,系统自带的SeekBar往往不能满足用户的需要。所以我们在这里自定义了一个音轨SeekBar,在MusicPlay.xml配置文件中,SeekBar的代码如下:上述代码中有参数android:thumb=drawable/progress_dot为音轨游标的图片资源,android:progressDrawable=drawable/seekbar_style为SeekBar条的风格style。引用了drawable中的seekbar_style