音乐播放器系统设计毕业论文.docx

上传人:b****1 文档编号:12481857 上传时间:2023-04-19 格式:DOCX 页数:41 大小:1.38MB
下载 相关 举报
音乐播放器系统设计毕业论文.docx_第1页
第1页 / 共41页
音乐播放器系统设计毕业论文.docx_第2页
第2页 / 共41页
音乐播放器系统设计毕业论文.docx_第3页
第3页 / 共41页
音乐播放器系统设计毕业论文.docx_第4页
第4页 / 共41页
音乐播放器系统设计毕业论文.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

音乐播放器系统设计毕业论文.docx

《音乐播放器系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《音乐播放器系统设计毕业论文.docx(41页珍藏版)》请在冰豆网上搜索。

音乐播放器系统设计毕业论文.docx

音乐播放器系统设计毕业论文

音乐播放器系统设计毕业论文

第一章绪论

随着计算机和多媒体技术的不断发展以及个人计算机的普及,各种各样的媒体文件,媒体播放器层出不穷,而MP3(MPEGAudioLayer3)格式化以及体积小、音质也有保证的特点成为使用最为广泛的音频格式,得到了绝大多数软件和硬件媒体播放器的支持,同时WAV格式作为无损的音频格式也独树一帜。

如今,软件市场上的媒体播放器百花齐放,如:

Mediaplayer,酷我音乐盒,千千静听等。

高音质播放器和低内存消耗是各种媒体播放器所最求的目标。

1.1音乐播放器的定义

随着个人电脑的普及,及多媒体信息的传播和应用已经深入我们的生活中的各个方面,其中数字音频凭借着其中占用存储空间小,声音质量高的特点风靡全球,传统磁带盒CD所统治的半壁江山已经成为了数字音频的天下。

本音频播放软件采用JAVA语言编写,旨在利用JAVA的平台无关性特点做出一款通用性强,占用空间少却五脏六腑俱全的音频播放器。

1.2软件开发背景及意义

欣赏美妙的音乐是我们每个人在学习工作之余都会做的事,面对市场上和网络上各种花样繁多的播放器,他们不但用起来感到得心应手,而且各种功能操作非常方便。

我们都用过“千千静听”,“酷狗音乐盒”,“WindowsMediaplayer”等非常优秀的播放器,但是在其使用的过程中总有些瑕疵。

并且这些公司没有开放它们的源代码。

我设计的这个“基于java的音乐播放器”除了能够播放一些常见的音频格式外更加易于操作和使用。

此软件具有一般播放器的常用功能,界面沿用了标准的Windows窗口,主窗口的功能有对要播放文件的各种控制,所播放曲目的名称,通过主窗口能有选择的播放单个文件,单次播放和循环播放目录表中的文件。

程序的开发环境是JDK,操作系统是WindowsXP,用到的主要技术为java语言,eclipse编辑软件。

本次毕业设计的意义在于结合Java语言提供的先进的思想和多样的媒体控制手段,结合用户使用音乐播放器的习惯和对媒体播放器的要求,设计了一款界面清楚明了,操作简单实效,可以实现在播放列表中可以加载一个或者多个多媒体文件;自动连续播放多个多媒体文件;用户能随意改变播放顺序;在下次打开播放器时,能够自动加载上次的播放列表;在播放列表的多媒体文件播放完后可以选择自动关闭播放器或者循环播放等功能的媒体播放器。

1.3发展现状及趋势

音乐播放器的设计是一门集计算机技术和数字多媒体技术于一体的综合设计。

随着中国计算机技术、宽带网络技术的发展,越来越多的人开始重视多媒体播放器的发展与应用。

在当今信息社会以多媒体为特征的信息技术和信息产业的发展及应用对人类社会产生的影响和作用愈来愈明显,愈来愈重要。

而音乐作为多媒体中的一个重要组成部分能改变信息的包装,实现知识信息数字化,为人们获得知识信息提供极大的方便和无穷的乐趣。

友善的人机界面、多种多样的多媒体教学软件、诱人的电子游艺节目、身临其境的多媒体导购系统、五花八门的信息家电和高效方便的网上查询等等,无不渗透着多媒体的作用,它引导人们进入了一个有声有色的世界。

同时,多媒体的发展和应用,极大地推动了各行各业的相互渗透和飞速发展,大大改变了人类社会的工作环境和生活方式。

可毫不夸张地说,多媒体产业的形成和发展,不仅引起了计算机工业的一次革命,也正在深刻地影响人类社会发生巨大的变革。

多媒体技术的发展在很大程度上依靠于多媒体软件开发的水平。

 

多媒体技术是当今信息技术领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。

多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体,借助日益普及的高速信息网,可实现计算机的全球联网和信息资源共享,因此被广泛应用在咨询服务、图书、教育、通信、军事、金融、医疗等诸多行业,并正潜移默化地改变着我们生活的面貌。

人类社会逐渐进入信息化时代,社会分工越来越细,人际交往越来越频繁,群体性、交互性、分布性和协同性将成为人们生活方式和劳动方式的基本特征,其间大多数工作都需要群体的努力才能完成。

但在现实生活中影响和阻碍上述工作方式的因素太多,如打电话时对方却不在。

即使电话交流也只能通过声音,而很难看见一些重要的图纸资料,要面对面的交流讨论,又需要费时的长途旅行和昂贵的差旅费用,这种方式造成了效率低、费时长、开销大的缺点。

今天,随着多媒体计算机技术和通信技术的发展,两者相结合形成的多媒体通信和分布式多媒体信息系统较好地解决上述问题。

随着网络技术的不断发展和Internet的逐渐普及,人们对网络产品需求也不断增长。

如今流行的网络音乐播放器虽然很多,但都或多或少存在一些缺陷,比如:

没有记忆的功能;下次播放的时候不能从上次离开的曲目开始;没有身份认证功能;不能有效的保护媒体播放器里面的歌曲专有性;功能组合与用户的习惯相违背;界面太复杂以及操作太难等。

随着人们对娱乐要求的提高,一款别致的、贴近用户操作习惯的音乐播放器非常值得去研究和开发。

 

第二章 相关技术简介

2.1 Java技术简介

Java 语言具有许多特点,当然也是它的优点,即简单性、分布性、高安全性、面向对象、与结构的无关性、可移植性、多线程及动态性等等。

简单性:

Java 语言是一种面向对象的语言, 如果你对面向对象的编程的基本概念有了一定的了解,就可以比较快地学会Java 语言编程。

Java 力图在功能齐备的基础上不增加所谓的超级特点, 它毫不客气地取消了指针、运算符重载和多重继承的概念,以一种明晰的面向对象的方法帮助用户表达他们的想法。

Java是一种简单的语言。

Java取消了其它的许多编程语言中十分繁琐的和难以理解的内容,例如C/C++中的指针,C++中类的多重继承等。

Java语言在外观上让大多数程序员都感到很熟悉,这样程序员不需要经过长时间训练就能够学会使用这种新型的程序开发工具。

Java要求的基本解释器约为40KB ,若加上基本的程序库,约为215KB。

由于Java程序很小,因此在小型机上Java程序也能够很好地执行。

Java是一种面向对象的语言。

这里的“对象”是指应用程序的数据及其操作方法。

Java程序的设计思想不同于C语言基于过程的程序设计思想。

设计面向对象的程序需要将编程重点放在资料和接口上。

Java是一种分布式的语言。

Java有一个很周全的程序库,且很容易与HTTP和TCP/IP通信协议相配合。

Java应用程序能在网络上开启并连结使用对象,就如同透过URL链接使用一个本地文件系统。

利用Java来开发分布式的网络程序是Java的一个重要应用。

2.2JMF媒体框架技术

JMF意为Java媒体框架(JMF)。

该核心框架支持不同媒体(如:

音频输出和视频输出)间的时钟同步。

它是一个标准的扩展框架,允许用户制作纯音频流和视频流。

JMF实际上是Java的一个类包。

JMF2.1.1技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。

这些功能包括:

媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支持,如M-JPEG、H.263、MP3、RTP/RTSP(实时传送协议和实时流转协议)、MacromediasFlash、IBM的HotMedia和Beatniks的RichMediaFormat(RMF)等。

JMF2.1.1还支持广受欢迎的媒体类型,如Quicktime、MicrosoftsAVI和MPEG-1等。

此外,JMF2.1.1软件中包括了一个开放的媒体架构,可使开发人员灵活采用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。

Sun以四种不同的专用版本提供JMF2.1.1技术,满足专业开发人员的各类需求,第一个是一个轻便型版本,它完全采用Java语言编写,适用于任何Java兼容系统。

此外,开发人员还可选择分别适用于Solaris、Windows或Linux等操作系统的性能最优化软件包,以提高性能和能力。

JMF2.1.1软件也是JavaMedia系列软件的一部分。

JavaMedia系列软件包括Java3D、Java2D、JavaSound和JavaAdvancedImaging等API。

采用各种JavaMediaAPI,软件开发商人员就能容易、快速地为他们已有的各种应用程序和客户端Java小程序增添丰富的媒体功能,如流式视频、3D图像和影像处理等。

就是说,各种JavaMediaAPI发挥了Java平台的固有优势,将"编写一次,到处运行"的能力扩展到了图像、影像和数字媒体等各种应用领域,从而大大缩减了开发时间和降低了开发成本。

2.3JDK技术

Java编译器将Java源代码文件编译成可执行的Java字节码。

Java源代码文件的扩展名为.java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。

源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。

Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。

它是Java Applet的简单测试工具,可使用它来测试Java Applet程序,而不需要WWW浏览器的支持。

JDK(Java Development Kit)是Sun Microsystems针对Java程序员开发的产品。

自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。

JDK是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一堆Java工具和Java基础的类库(rt.jar)。

不论什么Java应用服务器实质都是内置了某个版本的JDK。

因此掌握 JDK是学好Java的第一步。

最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。

其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。

而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。

但不管怎么说,我们还是需要先把Sun JDK掌握好。

从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本信息也不再延续以前的1.2,1.3,1.4,而是变成了5.0,6.0了。

从6.0开始,其运行效率得到了非常大的提高,尤其是在桌面应用方面。

JDK本身使用了Java语言编写,在我们下载的安装包里,有一个src.zip,里面就是JDK的源代码。

 

第三章系统分析

3.1功能需求

3.1.1播放器的基本控制需求

根据项目的目标,我们可获得项目系统的基本需求,以下从不同的角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成以下几部分来概括,即播放器的基本控制需要。

在播放器正在运行时,用户选择一首歌曲后单击“播放”按钮,播放器将播放选中的播放列表中的音乐,并同时显示当前进度;当歌曲未暂停或停止时,用户单击“暂停”按钮,播放器将进入暂停状态;播放器正在播放或暂停时,用户单击“停止”按钮,播放器将停止播放或暂停时,用户点击“上一首”或者“下一首”按钮,播放器将播放上一首或下一首歌曲。

3.1.2功能需求分析

从时序图3-2中可以看出播放器运行原理和调用过程。

图3-2

3.2运行及其它需求分析

硬件条件:

赛扬CPU、 1G 内存、10G硬盘以上的PC机。

 

软件条件:

Windows XP 、 eclipse 3.7.2 、 jdk1.6.0。

 

本软件对其它软件几乎没有依赖性,程序健壮性较好有较好的可维护性、可靠性、可理解性、效率。

易于用户理解和操作。

可维护性包括了可读性、可测试性等含义。

可靠性通常包括正确性和健壮性。

开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。

3.3可行性分析

3.3.1 经济及技术可行性

经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。

由于本系统是作为毕业设计由我自己开发的,在经济上的投入甚微,系统建成之后将为今后播放音乐提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。

 

开发、运行和维护费用主要包括:

购买和安装设备的费用:

计算机硬件、系统软件、电源、空调等;软件开发费用:

若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;人员费用:

系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:

系统开发所用材料、系统正常运行所用消耗品,例如水、电费、打印纸、软盘、色带等开支。

结合该毕业设计的整个过程所有开支都不大,所以经济上是可行的。

  

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。

该音乐播放器用的是java语言开发的,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。

软件方面:

用的是eclipse,它的速度快、可靠性能高、价格低,完全能满足系统的需求。

3.3.2 运行及法律可行性

对新软件运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。

同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。

运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。

当前我国信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。

从时间上看,时间上是有点紧,但通过一个多月的努力基本功能现在已经基本实现。

在法律可行性上从以下几点考虑:

①所有技术资料都为合法。

②开发过程中不存在知识产权问题。

③未抄袭任何已存在的课程信息管理系统,不存在侵犯版权问题。

④开发过程中未涉及任何法律责任。

综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。

第四章软件结构及界面设计

4.1软件结构设计

本软件不仅要求功能完善,而且还要界面友好,因此,对于一个成功的软件设计,功能模块的设计是关键。

在需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标软件的逻辑模型。

现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。

我们需要描述的是系统的总的体系结构。

软件的设计中最重要的就是软件的模块化。

模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。

每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。

将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。

也就是说,每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

图4-1音乐播放器系统流程图

4.2界面功能模块设计

主界面功能如图4.2.1:

图4.2.1

音乐播放器的界面有“文件”、“播放”、2个主菜单,其中“文件”菜单包含“打开文件”、”添加音乐文件夹”“退出系统”三个菜单项,“播放”菜单里包含“播放/暂停”“停止”,“音乐魔方”,”播放模式”,“播放背景”。

菜单项如图4-2所示。

菜单主要功能模块如图4.2.2

图4.2.2

下图是播放器主界面如图3.4:

图3.4

第五章播放器详细设计

播放器采用JAVA为开发语言,下面详细介绍了系统各个模块与功能的实现。

5.1文件菜单详细设计

文件菜单只要包括:

添加音乐文件,添加音乐文件夹,退出功能:

如图5.1。

图5.1

5.1.1添加音乐文件主要实现方法:

/**

*打开音乐文件

*/

publicvoidopenMusicFile(){

intselectState=0;

FilechooserFile=null;

JFileChooserchooser=newJFileChooser();

MP3FileFiltermp3FileFilter=newMP3FileFilter();

WAVFileFilterwavFileFilter=newWAVFileFilter();

chooser.setCurrentDirectory(newFile("."));

chooser.setDialogTitle("选择音乐文件");

chooser.setApproveButtonText("确定");

chooser.setApproveButtonToolTipText("选择音乐文件");

chooser.addChoosableFileFilter(wavFileFilter);

chooser.addChoosableFileFilter(mp3FileFilter);

chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//只选择文件

selectState=chooser.showOpenDialog(this);

if(selectState==JFileChooser.APPROVE_OPTION){

chooserFile=chooser.getSelectedFile();

if(chooserFile.toString().toLowerCase().endsWith(".mp3")

||chooserFile.toString().toLowerCase().endsWith(".wav")){

SongInfonewSong=newSongInfo(chooserFile.toString());

RightPanel.getInstance().addSongFiletoList(newSong);

}

}

}

//监听事件,通过判断语句判断是否点击了添加音乐文件的菜单,然后调用openMusicFile();方法

publicvoidactionPerformed(ActionEvente){

Stringaction=e.getActionCommand();

if("添加音乐文件".equals(action)){

mini.openMusicFile();

}

5.1.2添加音乐文件夹的功能实现

/**

*打开音乐文件夹

*/

publicvoidopenMusicFolder(){

intselectState=0;

FilechooserFolder=null;

JFileChooserchooser=newJFileChooser();

chooser.setCurrentDirectory(newFile("."));

chooser.setDialogTitle("选择音乐文件夹");

chooser.setApproveButtonText("确定");

chooser.setApproveButtonToolTipText("选择音乐文件夹");

chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//只选择文件夹

selectState=chooser.showOpenDialog(this);

if(selectState==JFileChooser.APPROVE_OPTION){

chooserFolder=chooser.getSelectedFile();

StringsongPath[]=chooserFolder.list();

intlength=songPath.length;

for(inti=0;i

if(songPath[i].toLowerCase().endsWith(".mp3")

||songPath[i].toLowerCase().endsWith(".wav")){

SongInfonewSong=newSongInfo(chooserFolder+File.separator+songPath[i]);

RightPanel.getInstance().addSongFiletoList(newSong);

}

}

}

}

//判断是否点击了添加音乐文件夹,成立就调用openMusicFolder的方法

publicvoidactionPerformed(ActionEvente){

Stringaction=e.getActionCommand();

if("添加音乐文件".equals(action)){

mini.openMusicFile();

}elseif("添加音乐文件夹".equals(action)){

mini.openMusicFolder();

}

5.1.3退出功能实现

//在点击时间监听中判断是否点击的退出菜单,然后判断歌曲是否关闭,没有关闭则先关闭歌曲再销毁界面退出程序。

publicvoidactionPerformed(ActionEvente){

Stringaction=e.getActionCommand();

if("添加音乐文件".equals(action)){

mini.openMusicFile();

}elseif("添加音乐文件夹".equals(action)){

mini.openMusicFolder();

}elseif("退出".equals(action)){

if(player!

=null){

player.close();

player=null;

}

mini.dispose();

Config.getInstance().saveConfig();

RightPanel.getInstance().savePlayList();

System.exit(0);

}

5.2播放菜单详细设计

播放菜单主要包括:

播放/暂停,停止,音乐魔方,播放模式,歌词背景功能:

如图5.2

图5.2

5.2.1播放/暂停功能实现

/**

*开始播放音乐

*/

publicstaticvoidstart(){

if(player!

=null&&!

noCanPlaySong()){

player.getGainControl().setLevel(soundSlider.getValue()/100.0F);

setSoundState(getSoundState());

playe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1