音乐播放系统设计.docx

上传人:b****5 文档编号:28390820 上传时间:2023-07-10 格式:DOCX 页数:27 大小:307.48KB
下载 相关 举报
音乐播放系统设计.docx_第1页
第1页 / 共27页
音乐播放系统设计.docx_第2页
第2页 / 共27页
音乐播放系统设计.docx_第3页
第3页 / 共27页
音乐播放系统设计.docx_第4页
第4页 / 共27页
音乐播放系统设计.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

音乐播放系统设计.docx

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

音乐播放系统设计.docx

音乐播放系统设计

毕业设计(论文)

(2013届)

题目音乐播放系统设计

学号1001080051

姓名

所属系机电工程系

专业电子信息工程技术

班级10级电信

指导教师

摘要

音乐是一种声音符号,表达人的思想感情。

是人们思想的载体之一。

音乐是有目的和内涵的,其中隐含了作者的生活体验,思想情怀。

一款好的pc音乐播放器不仅能够提供好的音乐播放效果,更能够为用户提供方便的操作。

本设计利用java语言和eclipse编辑工具对播放器进行编写。

同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、快进、快退、下一曲、上一曲、音量调节等功能与一体,性能良好。

该播放器支持MP3、WAV、MP3和AIFF等音频格式。

在开发的过程中采用瀑布模型。

第一阶段首先对项目进行全面、仔细的需求分析,并准确做出项目进度安排,明确每个阶段的任务;第二阶段是进行项目分模块编码;第三阶段对项目进行全面的测试和系统集成测试。

在本程序的开发上,因为JAVA的跨平台性,所以可供选择的平台有许多,使得在平台的选择面上有了更大的自主权。

现在社会上使用最多的平台是WINDOWS。

所以该程序在WINDOWS平台下开发。

关键词:

Eclipse;播放器;音频技术

 

 

 

ThedesignofMusicPlayerBaseonJava

Abstract

Themusicisasoundsymbolicexpressingthemoodandthinking.Itisthecarrierofpeople'sthinking.Musicisthepurposeandcontent,whichimpliedtheauthor'slifeexperiencesandfeelings.Agoodpcmusicplayercannotonlyprovidegoodmusicplayingeffect,butalsoprovideuserswithconvenientoperation.

Theplayerisusingjavalanguageandeclipseeditingtools.Givingadetailedsystemdesignprocess,partoftheinterfacemapandrunflowchartofthemainfunction,thisarticlediscussedindetailonproblemsandsolutionmethodinthedevelopmentprocess.Themusicplayersettoplay,pause,stop,fastforward,rewind,andthenextone,onavolumeadjustmentfunctionswithonegoodperformance.TheplayersupportsMP3,WAV,MP3,AIFF,etc.audioformats.ThemodelinthedevelopmentprocessisWaterfallmodel.Thefirstphaseistheprojectofcomprehensiveandcarefulneedsanalysis,accuratelymakingtheprojectscheduleandclearingeachstageofthetask.Thesecondphaseoftheprojectissub-modulecoding.Thethirdstage,theprojecttestingandsystemintegrationtesting.

Thedevelopmentofthisprogram,therearemanyalternativeplatform,becauseJAVAcrossplatform,sohavegreaterautonomyinthechoiceofplatform.NowusedonmostplatformsistheWINDOWS.Therefore,theprogramisdevelopingundertheWINDOWSplatform.

Keywords:

Eclipse;Player;Audiotechnology

 

1前言

1.1软件开发背景及意义

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

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

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

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

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

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

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

1.2发展现状及趋势

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.3主要研究方法及过程

研究方法:

主要采用行动研究法和文献法。

行动分析法,制定个性研究方案,通过我们日常实践情况进行分析,再研究调整重新进行实践。

首先,了解有关音乐播放器的有关技术,并对现在主流的音乐播放器进行测试并将它们不足之处改进。

并将经验总结、记录,形成有价值的文字。

文献法,广泛收集整理文献资料,如经典期刊,国内外前沿研究,以及指导老师推荐的书目,为今后项目开发提供具有时代性,创造性的正面指导。

研究手段:

主要是结合之前的开发经验,联系项目需求分析和参考文献,根据项目的特点选择适当的开发工具(eclipse)和编程技术(编程语JAVA)制定项目开发方案。

实验方案:

采用瀑布模型。

首先对项目进行全面、仔细的需求分析,并准确做出项目进度安排,明确每个人的职责和任务。

第二阶段,是进行项目分模块编码。

第三阶段,选择适当的测试方法,在完成项目编码后,进行软件测试,并准备填写测试用例。

对项目进行全面的测试和系统集成测试。

 

2相关技术简介

2.1Java技术简介

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.2JavaSound技术 

JavaSound是一个小巧的底层API,支持数字音频和MIDI数据的记录/回放。

在JDK1.3.0之前,JavaSound是一个标准的Java扩展API,但从Java2的1.3.0版开始,JavaSound就被包含到JDK之中。

由于Java有着跨平台(操作系统、硬件平台)的特点,基于JavaSound的音频处理程序(包括本文的程序)能够在任何实现了Java1.3+的系统上运行,无需加装任何支持软件。

2.2.1JavaSound的体系结构

当前JDK的JavaSoundAPI随同Java媒体框架(JMF,JavaMediaFramework)一起发布,适合JDK1.1以及更高的版本。

除了JDK实现的JavaSoundAPI之外,还有一个源代码开放的JavaSound实现是Tritonus。

图2-1描述了JavaSoundAPI的体系结构,虚线表示Sun的JavaSound标准定义的API调用。

上面一根虚线表示我们编写音频处理程序要调用的API,JavaSoundAPI包含在javax.sound.sampled和javax.sound.midi包中。

两根虚线之间的部分就是JavaSoundAPI的具体实现。

  图2-1:

JavaSound体系结构

就象上面一根虚线表示的API具有统一标准一样,在所有的JavaSound实现中,图一下面一根虚线表示的SPI(服务提供者接口,ServiceProviderInterface)也是统一的。

SPI的作用是以插件(Plug-In)的形式提供自定义的扩展模块,我们只要提供与SPI兼容的插件扩展模块,就可以在不改变API的情况下扩展音频处理程序的能力。

SPI包含在java.sound.sampled.spi和javax.sound.midi.spi包中。

例如,假设有一个只能播放WAV文件的程序,我们只要增加一个支持MP3文件解码的插件模块,就可以在不改动播放程序的任何一行代码的前提下,为这个播放程中添加播放MP3的能力。

2.2.2JavaSound混频原理

图2-2阐述了JavaSound的混频器原理。

在处理输入音频的应用中,对于来自各种音频输入端口的信号,例如麦克风、CD播放器、磁带播放器,等等,我们可以在它们到达TargetDataLine之前,利用混频器控制输入混频,最后在程序中通过TargetDataLine获得数字化的音频输入流。

  图2-2:

JavaSound混频器

类似地,在处理输出音频的应用中,混频器用来对一系列来自SourceDataLine的数据进行混频处理,经处理后的信号可输出到各种输出端口,例如扬声器、耳机等。

SourceDataLine是一个可写入音频信号数字流的设备,例如,我们可以从一个WAV文件读取内容写入到SourceDataLine,然后再通过扬声器输出。

输入到混频器的信号可以来源于剪辑。

剪辑(Clip)是一个包含一段完整音频数据流的设备,或者说,剪辑就是一个缓冲在内存中的完整音频数据流。

在一些要求反复播放音乐片段的场合,例如游戏的背景音乐,剪辑是很有用的。

图2-3描述了JavaSoundAPI中一些常用的类、接口及其关系,所有图三显示的类、接口都通过Line这个基本接口统一起来。

Line接口用来关闭/打开设备、注册事件监听器,以及提供一些用来调整声音效果的对象,例如调整音量大小的对象。

AudioSystem在JavaSound体系中起着一个工厂(Factory)类的作用,提供了一系列的静态方法,我们通过这些静态方法来获取JavaSound系统默认配置的资源(所谓静态方法,就是可以在不创建AudioSystem实例的情况下直接调用的方法)。

  图2-3:

常用的JavaSound类

在当前(JDK1.4)实现的JavaSound的默认配置中,输入声音来自本地声卡的麦克风,输出声音到本地声卡的扬声器。

应当说当前实现的JavaSound对端口和混频器的支持还不完善,但对于包括本文音乐播放器在内的许多应用来说,默认实现的JavaSound配置已经足够了。

2.3JDK技术

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

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

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

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

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

JDK(JavaDevelopmentKit)是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组织开发的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需求分析

3.1功能需求

3.1.1播放器的基本控制需求

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

图3-1播放器基本控制图

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

3.1.2功能需求分析

从时序图3-2中可以看出播放器中信息发送和调用过程。

图3-2音乐播放器的时序图

3.2运行及其它需求分析

硬件条件:

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

软件条件:

WindowsXP、eclipse3.7.2、jdk1.6.0。

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

易于用户理解和操作。

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

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

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

3.3可行性分析

3.3.1经济及技术可行性

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

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

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

购买和安装设备的费用:

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

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

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

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

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

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

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

软件方面:

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

3.3.2运行及法律可行性

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

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

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

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

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

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

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

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

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

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

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

4软件结构及界面设计

4.1软件结构设计

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

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

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

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

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

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

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

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

也就是说,每个模块只完成系统要求的独立

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

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

在系统的概要设计中采用结构化设计以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。

首先将整个系统化分为几个小问题,小模块。

然后,进一步细分模块,添加细节。

系统流程图如图4-1所示。

4.2GUI界面设计

播放器的GUI设计可以包含两个方面:

界面布局的设计和生成按扭的代码设计。

在GUI设计中,我们要了解构成程序的各个GUI部件。

图4-2菜单项

音乐播放器的界面有“文件”、“播放”、“显示”“帮助”4个主菜单,其中“文件”菜单包含“打开文件”、“退出系统”两个菜单项,“播放”菜单里包含“播放/暂停”“停止”,“播放控制”。

菜单项如图4-2所示。

鉴于构造用户界面往往需要大量的代码,且这些代码通常可以用IDE自动生成,所以对一些关键的GUI元素略作介绍,不再给出完整的代码。

主界面分为上、下两个部分,上面是视觉部件,下面是控制面板。

播放音频文件界面如图4-3所示。

图4-3音乐播放器的播放界面

5详细设计

5.1打开文件菜单下的详细设计

打开文件菜单下有“打开文件”,“推出系统”两个子菜单。

分别介绍如下:

5.1.1打开文件设计

对于一个完整的音乐播放器软件,不仅要求功

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

当前位置:首页 > 医药卫生 > 临床医学

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

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