ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:1.38MB ,
资源ID:3408675      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3408675.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(音乐播放器系统设计毕业论文文档格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、多媒体技术的发展在很大程度上依靠于多媒体软件开发的水平。 多媒体技术是当今信息技术领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体,借助日益普及的高速信息网,可实现计算机的全球联网和信息资源共享,因此被广泛应用在咨询服务、图书、教育、通信、军事、金融、医疗等诸多行业,并正潜移默化地改变着我们生活的面貌。人类社会逐渐进入信息化时代,社会分工越来越细,人际交往越来越频繁,群体性、交互性、分布性和协同性将成为人们生活方式和劳动方式的基本特征,其间大多数工作都需要群体的努力才能完成。但在现实生活中影响和阻碍上述工作方式

2、的因素太多,如打电话时对方却不在。即使电话交流也只能通过声音,而很难看见一些重要的图纸资料,要面对面的交流讨论,又需要费时的长途旅行和昂贵的差旅费用,这种方式造成了效率低、费时长、开销大的缺点。今天,随着多媒体计算机技术和通信技术的发展,两者相结合形成的多媒体通信和分布式多媒体信息系统较好地解决上述问题。随着网络技术的不断发展和Internet的逐渐普及,人们对网络产品需求也不断增长。如今流行的网络音乐播放器虽然很多,但都或多或少存在一些缺陷,比如:没有记忆的功能;下次播放的时候不能从上次离开的曲目开始;没有身份认证功能;不能有效的保护媒体播放器里面的歌曲专有性;功能组合与用户的习惯相违背;界

3、面太复杂以及操作太难等。随着人们对娱乐要求的提高,一款别致的、贴近用户操作习惯的音乐播放器非常值得去研究和开发。 第二章相关技术简介2.1Java技术简介Java语言具有许多特点,当然也是它的优点,即简单性、分布性、高安全性、面向对象、与结构的无关性、可移植性、多线程及动态性等等。简单性:语言是一种面向对象的语言,如果你对面向对象的编程的基本概念有了一定的了解,就可以比较快地学会Java语言编程。力图在功能齐备的基础上不增加所谓的超级特点,它毫不客气地取消了指针、运算符重载和多重继承的概念,以一种明晰的面向对象的方法帮助用户表达他们的想法。 Java是一种简单的语言。Java取消了其它的许多编

4、程语言中十分繁琐的和难以理解的内容,例如C/C+中的指针,+中类的多重继承等。Java语言在外观上让大多数程序员都感到很熟悉,这样程序员不需要经过长时间训练就能够学会使用这种新型的程序开发工具。Java要求的基本解释器约为40KB,若加上基本的程序库,约为215KB。由于Java程序很小,因此在小型机上Java程序也能够很好地执行。Java是一种面向对象的语言。这里的“对象”是指应用程序的数据及其操作方法。Java程序的设计思想不同于语言基于过程的程序设计思想。设计面向对象的程序需要将编程重点放在资料和接口上。Java是一种分布式的语言。Java有一个很周全的程序库,且很容易与HTTP和TCP

5、/IP通信协议相配合。Java应用程序能在网络上开启并连结使用对象,就如同透过URL链接使用一个本地文件系统。利用Java来开发分布式的网络程序是Java的一个重要应用。2.2 JMF媒体框架技术JMF意为Java媒体框架(JMF)。该核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。JMF实际上是Java的一个类包。JMF 2.1.1技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。这些功能包括:媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支 持,如M-JPEG、H.263、MP3、RTP/RTSP (实

6、时传送协议和实时流转协议)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF 2.1.1还支持广受欢迎的媒体类型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF 2.1.1软件中包括了一个开放的媒体架构,可使开发人员灵活采用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。Sun以四种不同的专用版本提供JMF 2.1.1技术,满足专业开发人员的各类需求,第一个是一个轻便型版本,它完全采用Java语言编写,适用于任何Java兼容系统。此外,开发人员还可选 择分别适用于S

7、olaris、Windows或Linux等操作系统的性能最优化软件包,以提高性能和能力。JMF 2.1.1软件也是Java Media系列软件的一部分。Java Media系列软件包括Java 3D、Java 2D、Java Sound和Java Advanced Imaging等API。采用各种Java Media API,软件开发商人员就能容易、快速地为他们已有的各种应用程序和客户端Java小程序增添丰富的媒体功能,如流式视频、3D图像和影像处理等。就是 说,各种Java Media API发挥了Java平台的固有优势,将编写一次,到处运行的能力扩展到了图像、影像和数字媒体等各种应用领域,

8、从而大大缩减了开发时间和降低了开发 成本。2.3 JDK技术 Java编译器将Java源代码文件编译成可执行的Java字节码。Java源代码文件的扩展名为 .java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。它是JavaApplet的简单测试工具,可使用它来测试JavaApplet程序,而不需要WWW浏览器的支持。JDK(JavaDevelopmentKi

9、t)是SunMicrosystems针对Java程序员开发的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvironment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的

10、JDK等等。其中IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。但不管怎么说,我们还是需要先把SunJDK掌握好。从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

11、播放器的基本控制需求根据项目的目标,我们可获得项目系统的基本需求,以下从不同的角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成以下几部分来概括,即播放器的基本控制需要。在播放器正在运行时,用户选择一首歌曲后单击“播放”按钮,播放器将播放选中的播放列表中的音乐,并同时显示当前进度;当歌曲未暂停或停止时,用户单击“暂停”按钮,播放器将进入暂停状态;播放器正在播放或暂停时,用户单击“停止”按钮,播放器将停止播放或暂停时,用户点击“上一首”或者“下一首”按钮,播放器将播放上一首或下一首歌曲。3.1.2功能需求分析从时序图3-2中可以看出播放器运行原理和调用过程。 图3-23.2运行

12、及其它需求分析硬件条件:赛扬CPU、1G内存、10G硬盘以上的PC机。软件条件:WindowsXP、eclipse3.7.2jdk1.6.0。本软件对其它软件几乎没有依赖性,程序健壮性较好有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可测试性等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。3.3 可行性分析 3.3.1经济及技术可行性 经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能

13、取得的社会和经济效益进行估计。由于本系统是作为毕业设计由我自己开发的,在经济上的投入甚微,系统建成之后将为今后播放音乐提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。开发、运行和维护费用主要包括:购买和安装设备的费用:计算机硬件、系统软件、电源、空调等;软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等;消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费、打印纸、软盘、色带等开支。结合该毕业设计的整个过程所有开支都不大

14、,所以经济上是可行的。技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。该音乐播放器用的是java语言开发的,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:用的是eclipse,它的速度快、可靠性能高、价格低,完全能满足系统的需求。3.3.2运行及法律可行性对新软件运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。 运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补

15、充计划的可行性。当前我国信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。从时间上看,时间上是有点紧,但通过一个多月的努力基本功能现在已经基本实现。在法律可行性上从以下几点考虑: 所有技术资料都为合法。 开发过程中不存在知识产权问题。 未抄袭任何已存在的课程信息管理系统,不存在侵犯版权问题。 开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。第四章 软件结构及界面设计4.1 软件结构设计本软件不仅要求功能完善,而且还要界面友好,因此,对于一个成功的软件设计,功能模块的设计是关键。在需求分析阶段,搞清楚了软件“做什么”的

16、问题,形成了目标软件的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。我们需要描述的是系统的总的体系结构。软件的设计中最重要的就是软件的模块化。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提

17、高模块的独立性,为设计高质量的软件结构奠定基础。 图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文件菜单详细设计文件菜单只要包括:添加

18、音乐文件,添加音乐文件夹,退出功能:如图5.1。 图5.1 5.1.1添加音乐文件主要实现方法:/* * 打开音乐文件 */ public void openMusicFile() int selectState = 0; File chooserFile = null; JFileChooser chooser = new JFileChooser(); MP3FileFilter mp3FileFilter = new MP3FileFilter(); WAVFileFilter wavFileFilter = new WAVFileFilter(); chooser.setCurrent

19、Directory(new File(.); chooser.setDialogTitle(选择音乐文件); chooser.setApproveButtonText(确定 chooser.setApproveButtonToolTipText( chooser.addChoosableFileFilter(wavFileFilter); chooser.addChoosableFileFilter(mp3FileFilter); chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);/只选择文件 selectStat

20、e = chooser.showOpenDialog(this); if (selectState = JFileChooser.APPROVE_OPTION) chooserFile = chooser.getSelectedFile(); if (chooserFile.toString().toLowerCase().endsWith(.mp3) | chooserFile.toString().toLowerCase().endsWith(.wav) SongInfo newSong = new SongInfo(chooserFile.toString(); RightPanel.g

21、etInstance().addSongFiletoList(newSong); /监听事件,通过判断语句判断是否点击了添加音乐文件的菜单,然后调用openMusicFile();方法public void actionPerformed(ActionEvent e) String action = e.getActionCommand(); if (添加音乐文件.equals(action) mini.openMusicFile();5.1.2 添加音乐文件夹的功能实现 /* * 打开音乐文件夹 public void openMusicFolder() File chooserFolder

22、 = null;选择音乐文件夹 chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);/只选择文件夹 chooserFolder = chooser.getSelectedFile(); String songPath = chooserFolder.list(); int length = songPath.length; for (int i = 0; i length; i+) if (songPathi.toLowerCase().endsWith( | songPathi.toLowerCase().endsWith(

23、 SongInfo newSong = new SongInfo(chooserFolder + File.separator + songPathi);/判断是否点击了添加音乐文件夹,成立就调用openMusicFolder的方法 else if (添加音乐文件夹 mini.openMusicFolder();5.1.3 退出功能实现/在点击时间监听中判断是否点击的退出菜单,然后判断歌曲是否关闭,没有关闭则先关闭歌曲再销毁界面退出程序。 public void actionPerformed(ActionEvent e) 退 出 if (player != null) player.clos

24、e(); player = null; mini.dispose(); Config.getInstance().saveConfig(); RightPanel.getInstance().savePlayList(); System.exit(0);5.2 播放菜单详细设计播放菜单主要包括:播放/暂停,停止,音乐魔方,播放模式,歌词背景功能:如图5.2 图5.2 5.2.1 播放/暂停功能实现 /* * 开始播放音乐 public static void start() = null & !noCanPlaySong() player.getGainControl().setLevel(soundSlider.getValue() / 100.0F); setSoundState(getSoundState(); playe

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2