基于java的音乐播放器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《课程设计报告》课程名称:WEB课程设计
2016—2017 学年度第一学期
题目:基于java的音乐播放器
系别:信息工程学院
专业:计算机科学与技术
专业班级:
指导教师:
编者
目录
一.需求分析 (1)
(一)背景 (1)
(二)音乐播放器需求分析 (1)
二.概要设计 (4)
(一)系统所用类及各类的主要说明 (4)
(二)系统UML类图 (5)
三.详细设计 (6)
(一)核心技术介绍 (6)
(二)创建播放器的图形用户界面所需的控件 (9)
四 .系统实现 (12)
五.测试 (24)
结论 (26)
一.需求分析
(一)背景
随着计算机的广泛运用,手机市场的迅速发展,各种音频视频也在网上广为流传,这些资源看似平常,但以渐渐成为人们必不可少的一部分了,于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对很多用户的时间造成了很多资源的浪费,比如CPU、内存的占有率过高,在用户需求多用户操作时,受到了不小的影响,带来了许多的不便,而对于大多数普通用户,许多功能用不上,形同虚设。
(二)音乐播放器需求分析
根据项目,我们可以获得项目系统的基本需求主要是功能需求而系统的功能需求,我们分成三部分来概括,即播放器的基本控制需求、播放列表管理需求和性能需求。以下分别描述:
1
1、播放器的基本控制需求
(1)播放:点击播放列表中的歌曲进行播放。
(2)停止:在歌曲列表下方有一个小按钮,当歌曲正在播放时,显示的是可停止的按钮,点击则停止当前播放的歌曲。
(3)上一曲:歌曲在播放或者未播放时单击上一曲按钮时歌曲会跳到列表的当前歌曲的上一首。
(4)下一曲:歌曲在播放或者未播放时单击下一曲按钮时歌曲会跳到列表的当前歌曲的下一首。
(5)停止:单击停止按钮时立即停止播放当前的歌曲。
用户需求图
2
音乐播放器系统流程图
2、播放列表管理
(1)添加歌曲文件夹:在播放列表中单击,选择添加的文件夹则弹
出一个添加文件夹的会话框,点击要添加的歌曲,则弹出“添加成功”的消息提示,否则弹出“添加失败”的相关信息。
(2)添加歌曲:选中歌曲后,单击选择添加歌曲或者点击左下角
的添加按钮则弹出一个添加歌曲信息的会话框,点击提交则进行添加,添加成功则更新了歌曲列表。
3
3、性能需求
(1)当要求歌曲播放时,软件响应时间最长不超过2秒
(2)当要求歌曲暂停时,软件响应时间最长不超过1秒
系统能持续运行,不影响其他程序的使用,不多占用内存,不会造成死机等问题。
二.概要设计
(一)系统所用类及各类的主要说明
(1)界面样式
MUSICPLAYER类:主类,作为框架从指定的类获取图像和声音ListItem类:设置名称和位置
init类:设置样式和界面
(2)功能类
actionPerformed类:添加音乐文件或文件夹
play类:播放暂停设置
controllerUpdate类:选择播放模式
4
(二)系统UML类图
三.详细设计
(一)核心技术介绍
在Java.Applet包中的Applet类和AudioClip接口提供了播放声音的基本支持。以前计算机存储声音文件的格式有许多,目前Java只支持一种声音文件格式有.au,.mid,.wav等。对于其他格式的文件,可以用相应地工具软件将它们转换为.au或.mid等Java支持的文件。在Applet中播放声音文件有两种方法:
(1)在Java的API中,Applet类提供了一个方法play(),它可以直接根据URL地址来播放声音。这个方法指定如下:
Public void play(URL url);
Public void play(URL url,string soundFile);
在第一种方法的定义中,参数url是保存声音文件的绝对URL地址,即统一资源定位,它指定Web网上的一个声音文件;在第二种方法定义中,参数URL是保存声音文件的基地址,而参数soundFile是声音文件的文件名。如果声音文件与Applet的HTML文件在相同的目录下,则可以通过使用getCodeBase()方法来获得该声音文件的基地址。如果Applet本身的URL地址为“http///pro/”,则语句:
Play(gatCodeBase(),“space.au”);
6
等同于语句:
Play(“http///pro/”,“space.au”);
在程序编写过程中,若使用第一种方法定义,则将程序由一个服务器转移到另一服务器上或从一个目录转移到另一个目录下时,必须改变源代码中的URL地址:若使用第二种方法定义,即使用getCodeBase()方法来定位资源文件,则将程序由一个服务器转移到另一个服务器或从一个目录转移到另一个目录下时,不必改变源代码中的URL地址,而只需将声音文件与播放他的Java文件放在同一目录下即可。
Play()方法只能进行简单的播放,只能一次敬爱那个声音文件播放完,没有停止和连续播放的功能,所以,一般编写播放声音的程序时不采用此方法。
(2)利用Java中的AudioClip类对象播放声音文件。AudioClip类提供了两种获取声音数据的方法,定义如下:
AudioClip getAudioClip(URL url);
AudioClip getAudioClip(URL url,String soundFile);
它们的参数含义与以上相同。使用时可按如下步骤。
○1)声明一个AudioClip类的对象,如:
AudioClip audio;
7