java音乐播放器文档_第1页
java音乐播放器文档_第2页
java音乐播放器文档_第3页
java音乐播放器文档_第4页
java音乐播放器文档_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.基于 java的音乐播放器基于java 的音乐播放器系统需求分析规格说明书1二○一三年十一月2基于 java的音乐播放器目录基于java的音乐播放器.......................................................11引言31.1编写目的.............................................................................................................................31.2项目背景.............................................................................................................................31.3预期的读者和阅读建议.....................................................................................................42.系统结构图和功能表....................................................................................................................42.1系统功能表(表2.1)和系统功能结构图(图2.2).....................................................43系统需求分析................................................................................................................................53.1播放器的基本控制需求.....................................................................................................53.1.1音量控制.......................................................63.1.2静音控制.......................................................73.1.3上一首/下一首控制..............................................73.1.4播放控制.......................................................73.1.5暂停控制.......................................................83.1.6播放文件控制...................................................83.1.7播放歌曲文件控制...............................................83.1.8添加歌曲文件控制...............................................93.1.9删除歌曲文件控制...............................................93.2播放器友好性需求...........................................................................................................103.2.1视觉外观显示..................................................103.2.2播放状态显示..................................................103.3歌词及背景显示...............................................................................................................113.3.1歌词显示.............................................................113.3.2歌曲背景显示.........................................................114系统类图......................................................................................................................................125关键代码......................................................................................................................................135.1Lrc歌词处理....................................................................................................................135.2歌词展示...........................................................................................................................136程序截图......................................................................................................................................186.1程序启动界面...................................................................................................................186.2显示脉冲界面...................................................................................................................196.3显示歌词界面...................................................................................................................207性能需求......................................................................................................................................207.1数据精确度.......................................................................................................................207.2时间特性...........................................................................................................................217.3适应性...............................................................................................................................218运行需求......................................................................................................................................219产品质量需求..............................................................................................................................219.1故障分析...........................................................................................................................2139.2系统利用率 229.3可靠性 224基于 java的音乐播放器10心得体会 22引言1.1编写目的本文档首先给出了整个软件系统的整体网络结构和功能结构的概貌,从总体架构上给出整个系统的轮廓,然后又对功能需求、性能需求和其它非功能性需求进行了详细的描述。这些文字和图形都为了本文档能详细准确地描述用户的需求,同时也为用户更容易地理解这些需求的描述创造了条件。本文档用于描述“基于 java 的音乐播放器”项目的系统需求,为该项目概要设计,详细设计和测试用例的设计依据。同时,本文档也是用户确定软件功能需求的主要依据。1.2项目背景“基于java 的音乐播放器”是我们小组自主开发的一款音频解码播放器,通过前续java 以及面向对象的学习,我们已经有了一定的编程基础并能熟练运用进行实际编程。随着中国经济的快速发展,人民的生活水平日益的提高,大家越来越注 重自己的娱乐方式的多样性和趣味性,无疑, MP3播放器的诞生解决了这一难题。数码消费品工艺水平的日益改进和劳动生产率的提高,创造出了越来越多的高性价比MP3播放器,闲暇之余的听歌放松已成逐渐成为我们生活当中不可或缺的5一部分。对于可预见的旺盛的需求使得我们有了开发一款 MP3音乐播放器的想法,后续诞生了我们这个项目。基于 java的音乐播放器1.3预期的读者和阅读建议本文档的主要内容共分4 部分:综合描述、系统特性、和非功能性需求和外部接口描述。综合描述部分主要对软件的整体结构进行了大致的介绍;系统特性部分对软件的功能需求进行了详细描述,是本文的主要部分;非功能性需求部分对非功能需求进行了详细的描述;外部接口需求部分对用户界面、软件接口等进行了描述。2.系统结构图和功能表62.1系统功能表(表2.1)和系统功能结构图(图2.2)功能类别 子功能播放列表菜单播放列表歌曲菜单播放暂停/继续播放界面 停止上一首下一首播放界面菜单表2.1系统功能表

子功能更新列表退出程序播放音乐下载音乐播放歌曲->更新暂停歌曲->暂停停止歌曲->停止播放列表索一个 ID播放列表索一个 ID设置添加音乐隐藏界面7基于 java的音乐播放器音乐播放器在线列表 本地列表 播放界面 文件浏览 设定更播下删播播停上添显加示显播放新放载除放放止一多本示方式:列、首个地歌单曲表暂`音所词循环、停下乐有顺序一音播放、首乐随机播放设定图2.2系统功能结构图系统需求分析根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述。系统的功能需求,我们分成三部分来概括,即播放器的基本控制需求,歌词及图片显示需求和播放器友好性需求。以下分别描述:3.1播放器的基本控制需求8基于 java的音乐播放器基本控制需求的 UML 图: 音量控制用例名称:音量控制参与者:用户目标:使得用户可以调节播放器的音量前置条件:播放器正在运行基本事件流: 1.用户右或左滑动音量控制按钮2.播放器的音量增大或降低,9基于 java的音乐播放器 静音控制用例名称:静音控制参与者:用户目标:使得用户可以快速将播放器调到无声状态前置条件:播放器正在运行基本事件流:1.用户点击静音控制按钮2.播放器的音量立即降到最低,即无声状态 上一首/下一首控制用例名称:上一首 /下一首参与者:用户目标:使得用户可以选择播放播放列表中上一首 /下一首歌曲前置条件:播放器正在运行,当前播放列表有上一首 /下一首歌曲基本事件流:1.用户单击“下一首 /下一首”按钮2.播放器将播放播放列表中的上一首 /下一首歌曲 播放控制用例名称:播放参与者:用户目标:使得用户可以播放在播放播放列表中选中的歌曲前置条件:播放器正在运行基本事件流:1.用户单击“播放”按钮2.播放器将播放播放列表中当前的歌曲10基于 java的音乐播放器 暂停控制用例名称:暂停参与者:用户目标:使得用户可以暂停正在播放的歌曲前置条件:歌曲正在播放基本事件流:1.用户点击暂停按钮2.正在播放的歌曲暂停播放, 播放文件控制用例名称:播放文件参与者:用户目标:使得用户可以播放本地计算机的歌曲文件前置条件:播放器正在运行基本事件流:1.用户点击播放文件的按钮2.用户选择要播放的歌曲文件后置条件:将用户选择要播放的歌曲文件添加到当前播放列表,并播放歌曲文件 播放歌曲文件控制用例名称:播放歌曲文件参与者:用户目标:使得用户可以选择播放播放列表中的歌曲文件前置条件:播放器正在运行,播放列表有歌曲文件基本事件流:1.用户双击或右击要播放的歌曲文件后置条件:播放选定的歌曲文件11基于 java的音乐播放器 添加歌曲文件控制用例名称:添加歌曲文件参与者:用户目标:使得用户可以添加本地计算机的音乐文件或文件夹前置条件:播放器正在运行,并且本地计算机存储有音乐文件基本事件流:1.用户单击【添加歌曲】按钮2.系统弹出一个“选择文件 /文件夹”对话框,3.用户选定要添加的文件或文件夹并按“确定”文件或文件夹被添加到播放列表后置条件:播放列表显示了添加的音乐文件 删除歌曲文件控制用例名称:删除歌曲文件参与者:用户目标:使得用户可以删除播放列表中的音乐文件前置条件:播放器正在运行,并且播放列表中有要删除的音乐文件基本事件流:1.用户右击选定要删除的音乐文件2.用户选择“删除”3.文件在播放列表中被删除后置条件:播放列表删除了被选定的音乐文件12基于 java的音乐播放器3.2播放器友好性需求 视觉外观显示用例名称:视觉外观显示参与者:系统或用户目标:使得播放器根据歌曲文件的特性,通过视觉外观来动态显示前置条件:播放器正在播放歌曲文件基本事件流:1.系统读取要播放的歌曲文件的特性,接着调用一个视觉外观显示组件来动态显示出来后置条件:视觉外观显示组件来动态显示播放中的歌曲文件 播放状态显示用例名称:播放状态显示参与者:系统目标:使得播放器能显示播放器现时的状态,是播放还是暂停中前置条件:播放器已打开基本事件流:1.系统读取播放器状态,通过文字标签显示出来后置条件:文字标签将播放器状态显示出来13基于 java的音乐播放器3.3歌词及背景显示 歌词显示用例名称:歌词显示参与者:系统目标:播放器播放音乐时能自动检索出相应歌词并根据歌曲进度显示出来前置条件:播放器已打开基本事件流:1.播放器打开音乐文件通过音乐文件名称检索相应的歌词文件若存在歌词文件就同步显示,不存在则给出相应提示后置条件:文字标签将播放器状态显示出来 歌曲背景显示用例名称:歌曲背景图片显示参与者:系统目标:播放器播放音乐时能自动检索出相应背景图片并根据显示出来前置条件:播放器已打开基本事件流:1.播放器打开音乐文件通过音乐文件名称检索相应的背景图片文件若存在图片文件就显示,不存在则使用系统默认图片文件后置条件:文字标签将播放器状态显示出来14基于 java的音乐播放器系统类图15基于 java的音乐播放器关键代码5.1Lrc歌词处理5.2歌词展示class LrcListener implements ActionListener{privateint i =0;privatelong nextMill =0;private String message ="";publicvoid actionPerformed(ActionEvente){16for (int j=0;j< times.size();j++){ nextMill=times .get(j);17基于 java的音乐播放器if(currentTime<nextMill){nextMill=times.get(j-1);i=j-1;break;}}currentTime=currentTime+10;if(currentTime>nextMill){if(message.equals(messages.get(i))){}else{for(inta=0;a<times.size();a++){}message=messages.get(i);;for(intindex=0;index<5;index++){if(index==0){l_texts[(currentLocation+index)%9].setFont(new"Dialog",0,22));l_texts[(currentLocation+index)%9].setForeground(Color.yellow);l_texts[(currentLocation+index)%9].setText(messages.get(i+index));l_text[currentLoca+index].setFont(new"Dialog",0,22));l_text[currentLoca+index].setForeground(Color.red);l_text[currentLoca+index].setText(messages.get(i+index));if(i>0){l_text[0].setFont(new"Dialog",0,16));l_text[0].setForeground(Color.white);l_text[0].setText(messages.get(i-1));}if(i<(messages.size()-1)){l_text[2].setFont(new"Dialog",0,16));l_text[2].setForeground(Color.white);l_text[2].setText(messages.get(i+1));}}else{ if(i+index< messages.size()){18基于 java的音乐播放器l_texts [(currentLocation +index)%9].setFont( new"Dialog" ,0,16));l_texts [(currentLocation +index)%9].setForeground(Color. white );l_texts [(currentLocation +index)%9].setText( messages.get( i+index));}else{l_texts [(currentLocation +index)%9].setText( "");}}}for(int c=1;c<5;c++){ if (c-1<i){if (currentLocation -c>=0){ l_texts [currentLocation -c].setFont( new"Dialog" ,0,16));l_texts [currentLocation -c].setForeground(Color. white);l_texts [currentLocation -c].setText( messages.get( i-c));}else{l_texts [currentLocation -c+9].setFont( new"Dialog" ,0,16));l_texts [currentLocation -c+9].setForeground(Color. white);l_texts [currentLocation -c+9].setText( messages.get( i-c));}}}for (int je=0;je<9;je++){ if (currentLocation >=4){l_texts [(currentLocation -4+je)%9].setBounds(20,20+je* L_WIDTH,270,20);}else {l_texts [(currentLocation +9-4+je)%9].setBounds(20,20+je* L_WIDTH,270,20);}19}}20基于 java的音乐播放器}}}5.3背景显示classPanel1extendsJPanel{BorderLayoutborderLayout1=newBorderLayout();publicstaticintcurrentImage=0;privateImageIconimage1=null;privateImageIconimage2=null;privateImageIconimage3=null;privateint index =0;public Panel1( int type){try {this .currentImage = type;jbInit();} catch (Exceptionexception){exception.printStackTrace();}}privatevoid jbInit() throws Exception{newThread(newPaintThread()).start();this .setLayout( null );}publicstaticvoid setImage( inta){ currentImage =a;}protectedvoid paintComponent(Graphicsg){setOpaque(false);super.paintComponent(g);if(currentImage==3){this.image1=newImageIcon("ee.png");this.image2=newImageIcon("2.png");this.image3=newImageIcon("3.png");}elseif (currentImage ==2){this .image1 = new ImageIcon( "4.png" );this .image2 = new ImageIcon( "5.png" );this .image3 =new ImageIcon( "6.png" );21基于 java的音乐播放器}elseif(currentImage==1){this.image1=newImageIcon("7.png");this.image2=newImageIcon("8.png");this.image3=newImageIcon("9.png");}else{this.image1=newImageIcon("b1.png");this.image2=newImageIcon("b2.png");this.image3=newImageIcon("b3.png");}Dimensiond=getSize();if(index==0){for(intx=0;x<d.width;x+=image1.getIconWidth())for(inty=0;y<d.height;y+=image1.getIconHeight())g.drawImage(image1.getImage(),x,y,null,null);}elseif (index ==1){for( int x = 0; x < d.width ; x +=image2.getIconWidth())for( int y=0;y<d. height ;y+=image2.getIconHeight())g.drawImage( image2.getImage(),x,y, null ,null );}elseif (index ==2){for( int x = 0; x < d.width ; x +=image3.getIconWidth())for( int y=0;y<d. height ;y+=image3.getIconHeight())g.drawImage( image3.getImage(),x,y, null ,null );}}privateclass PaintThread implements Runnable{publicvoid run(){while (true){try { Thread. sleep (5000);index =(index+1)%3;repaint();22基于 java的音乐播放器} catch (InterruptedExceptione){e.printStackTrace();}}}}}程序截图6.1程序启动界面23基于 java的音乐播放器6.2显示脉冲界面24基于 java的音乐播放器6.3显示歌词界面性能需求7.1数据精确度我们开发的是音乐播放器,音乐播放器解码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论