欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于java的mp3播放器的设计与实现含源文件毕业设计论文Word文档下载推荐.docx

    • 资源ID:6273483       资源大小:348.16KB        全文页数:31页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于java的mp3播放器的设计与实现含源文件毕业设计论文Word文档下载推荐.docx

    1、 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。导师签名: 日期:注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)

    2、附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5

    3、.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度3、学生综合运用所学知识和专业技能分析和解决问题的能力4、研究方法的科学性;技术线路的可行性;设计方案的合理性5、完成毕业论文(设计)期间的出勤情况二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?2、是否完成指定的论文(设计)任务(包括装订及附件)?三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义2、论文的

    4、观念是否有新意?设计是否有创意?3、论文(设计说明书)所体现的整体水平建议成绩:(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量二、论文(设计)水平评阅教师:教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况2、对答辩问题的反应、理解、表达情况3、学生答辩过程中的精神状态评定成绩:教研室主任(或答辩小组组长): (签名)教学系意见:系主任:摘 要随着计算机和多媒体技术的不断发展以及个人计算机的普及,各种各样的媒体文件、媒体播放器层出不穷,而MP3(MPEG

    5、 Audio Layer3)格式以其体积小、音质也有保证的特点成为使用最为广泛的音频格式,得到了绝大多数软件和硬件媒体播放器的支持,同时WAV格式作为无损的音频格式也独树一帜。如今,软件市场上的媒体播放器百花齐放,如:MediaPlayer,酷我音乐盒和千千静听等。高音质播放和低内存消耗是各种媒体播放器所追求的目标。 【关键词】音乐播放器 java MVC JMF Ecplise Title: Library management systemMajor:Software techniqueName : Liu Ruiyuan Signature:Supervisor:Duan Qin Sig

    6、nature:AbstractAlong with the development of the computer technology and the development of multimedia technology and the personal computer, a variety of media, media player emerge in an endless stream, while the MP3 (MPEG Audio Layer3) format to become the most widely used audio format with its sma

    7、ll size, the sound quality is guaranteed, the vast majority of software and hardware media player support, at the same time, WAV format as lossless audio formats also become an independent school. Now, software on the market All flowers bloom together. media player, such as: MediaPlayer, cool music

    8、box and TT Player etc. High quality playback and low memory consumption is the goal of all kinds of media player.【关键词:音乐播放器 java MVC JMF EcpliseKeywords】 java music player, MVC JMF Ecplise一、绪论1.1背景、目的与意义随着个人电脑的普及,多媒体信息的传播和应用已经深入我们生活中的各个方面。其中数字音频凭借着其占用存储空间小,声音质量高的特点风靡全球,传统磁带和CD所统治的半壁江山已经成为了数字音频的天下。当微

    9、软Windows的局限性和缺点开始暴露出来的同时,多样化的操作系统平台如Solaris,Linux以及MacOS等操作系统各自拥有不俗的表现以及庞大的用户群。面对繁多的操作系统平台,一款具有通用性的音频播放软件则是必不可少的。本音频播放软件采用Java语言编写,旨在利用Java的平台无关性特点,做出一款通用性强、占用空间少却五脏俱全的音频播放器。1.2 Java语音的特性首先,从面向对象的特性来看,Java是一种完全的面向对象设计语言。Java的多态主要是建立在后期绑定(Late Bingding)或叫动态绑定(Dynamic Binding)基础之上的,这样Java先天就具备了对对象类型的自

    10、动判断能力。而C+是不支持动态绑定的,绑定动作发生在编译期而不是执行期,所以C+要实现多台的效果必须要使用虚函数。此外虽然C+语言支持封装和继承,但多态仍然是建立在编译时绑定的基础上,必须要通过虚函数实现。不仅如此,C+语言的指针操作允许使用goto语句,容易产生歧义的多重继承等特性也使C+不能严格符合面向对象的思想。其次,Java具有绝对的平台无关性,其使用一种虚拟机作为中间层来屏蔽平台差异。Java的源程序经过编译产生类文件,类文件结构不同于传统的编译器生成的二进制文件,必须经过虚拟机的解释才能运行,因此Java被认为是一种解释性语言。虚拟机作为中间层负责把编译好的类文件转换为不同平台的指

    11、令。而对于不同的C,C+编译器,各种数据类型所占用空间有可能不一样,这种差异会影响程序的可移植性。此外,在内存管理方面,Java在其虚拟机内部实现了垃圾内存自动回收功能,能够自动判断那些内存不再被用户使用,这样就让用户在系统设计时从繁杂的内存管理工作中解脱出来。C和C+语言分配的内存空间必须由用户在不使用的时候进行回收,容易产生内存回收不充分的问题,形成内存漏洞。然而,Java也有瑕疵,由于是一种解释型语言,编译后的Java类文件不能直接被操作系统执行,需要虚拟机的解释,因此其效率和C,C+相比有一定差距。在运行时,Java编写的软件需要操作系统中安装有虚拟机,所以程序的发布相对繁琐。总的说来

    12、,Java编程语言是简单与面向对象的分布式、安全与鲁棒的解释执行与高性能的多线程与动态执行的二、相关技术简介2.1 关于JMF技术JMF(Java Media Framework),Java媒体架构,是对应Java 2平台标准版(J2SE)的一种可选用的应用编程接口(API)软件包,它为音频和视频等媒体内容的捕获、回放、传输和编码转换等提供了一个统一的架构。JMF技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。这些功能包括:媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支持,如M-JPEG、H.263、MP3、RTP/RTSP (实时传送协议和实时流转协议)、Macro

    13、medias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF 2.1.1还支持广受欢迎的媒体类型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF软件中包括了一个开放的媒体架构,可使开发人员灵活采用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。Java Media Framework(JMF)是构建在 Java Sound之上的一层。JMF实际上将Java Sound用于其音频处理。JMF支持更多音频格式和更多回放功能,但缺少Java Sound的低层访问。另外,标准 JDK 发行版不包

    14、括JMF而包括 Java Sound。Java Sound: 添加音频和MIDI支持 与JDK 1.3及更高版本一起提供 是轻量级的 本身支持相对较少的音频格式(AIFF、WAV和AU) 通过Java Sound的服务供应商接口(SPI)可以进行扩展 JMF: 添加对音频、视频和其它基于时间的数据的支持 提供多种媒体格式的同步和控制功能 当前没有与任何JDK一起提供 本身支持许多音频格式(AIFF、WAV等)以及 MPEG和其它格式 包含可扩展的编码器解码器媒体支持 2.2 JMF常用类JMF的常用类包括以下几个:数据源(DataSource)媒体定位器(MediaLocator)播放器(Pl

    15、ayer)处理器(Processor)数据池(DataSink)数据格式(Format)管理器(Manager)2.2.1 数据源(DataSource) 在JMF中,DataSource对象就是数据源,它可以是从采集设备获得的数据,也可以是一个多媒体文件,也可以是从互联网上下载的数据流。对于DataSource对象,一旦你确定了它的位置和类型,对象中就包含了多媒体的位置信息和能够播放该多媒体的软件信息。当创建了 DataSource对象后,可以将它送入Player对象中,而Player对象不需要关心DataSource中的多媒体是如何获得的,以及格式是什么。2.2.2 媒体定位器(Media

    16、Locator)DataSource通常用两种方式来定义,媒体定位器(MediaLocator)或URL(Universal Resource Locator)。MediaLocator类似于URL,并且可以由URL来构造,即使在没有安装相应的协议处理机制的情况下,也能构造MediaLocator(在Java,只有在系统上安装了URL协议的处理机制的情况下,才能构造一个URL)。MediaLocator用来定位采集设备、本机的媒体文件、网络上的媒体文件以及网络RTP流。2.2.3 播放器(Player)如图2-1所示,播放器(Player)对象将音频、视频数据流作为输入,然后将数据流输出到音箱

    17、或屏幕上,就像播放器读取DV带中的数据,然后将音频信号送到音箱上,视频数据送到屏幕上一样。图2-1 处理器模型如图2-2所示,除了在播放器中提到了的6种状态以外,处理器对象还包括两种新的状态。这两种状态是在Unrealized状态之后,在Realizing 状态之前。Configuring:当调用configure( )方法后,处理器对象进入该状态。在该状态下处理器对象连接到数据源并获取输入数据的格式信息。Configured:当完成数据源连接,获得输入数据格式的信息后,处理器对象就处于Configured状态。图2-2 处理器的状态转换图2.2.4 数据池(DataSink)数据池(Data

    18、Sink)用来读取数据源(DataSource)的媒体数据和输出到特定的目的地这里的目的地不同于以上所说的如音箱或屏幕。一个特定的DataSink或把数据输出到一个文件,或通过网络传输数据,或进行RTP广播。像Player一样,DataSink对象以DataSource作为参数,通过管理器(Manager)来构造。2.2.5 数据格式(Format)在JMF架构中,数据格式(Format)对象中保存了媒体的格式(format)信息。它并不包括编码参数和全局时间信息。只是描述了该格式的编码名称和数据类别。Format的子类包括 AudioFormat和VideoFormat类,VideoForm

    19、at又有六个子类:H261Format、H263Format、IndexedColorFormat、JPEGFormat、RGBFormat和YUVFormat类4。在AudioFormat中,描述了音频格式的属性,如采样频率、每次采样的数据位数等等。在VideoFormat中则描述了视频数据的类型如H.263等。图2-3 表示JMF对音频格式和视频格式的定义:图2-3 JMF的媒体数据格式2.2.6管理器(Manager)JMF提供了下面四种管理器(Manager):Manager:Manager相当于两个类之间的接口。例如当你需要播放一个DataSource对象,你可以通过使用Manage

    20、r对象createPlayer( )方法创建一个 Player对象来播放它。使用Manager对象可以创建Player、Processor、DataSource和DataSink对象。PackageManager:该管理器中保存了JMF类注册信息。CaptureDeviceManager:该管理器中保存了截取设备的注册信息。PlugInManager:该管理器中保存了JMF插件的注册信息。2.3 事件模型JMF利用事件报告机制来使基于JMF的程序获知媒体系统当前的状态,从而使程序能够对相应状态的改变作出相应的操作。在任何时候,当一个JMF对象需要报告当前的状态,它将发出一个MediaEvent

    21、事件。MediaEvent的子类包括ControllerEvern,DataSinkEvent,GainChangeEvent,RTPEvent。对于任何一个能发送MediaEvent的JMF对象而言,JMF都定义了一个相应的侦听接口(listener interface)。为了能在某一MediaEvent事件发生时得到相应的通知,必须实现适当的侦听接口以及在对应的类体中重写该接口中处理MediaEvent事件的方法体,并通过调用addListener方法来接收此MediaEvent事件。JMF中的Controller对象,例如播放器(Player)和处理器(Processor),以及Cont

    22、rol对象,例如GainControl都可以发出MediaEvent事件。(Player和Processor继承于Controller类 所有的Controller事件,ControllerEvent由Controller(如Player或Processor)产生,可分为三类:改变通知(change notification),关闭事件(closed event),状态转变事件(transition event):1改变通知事件如RateChangeEvent,DurationUpdateEvent,FormatChangeEvent表明一些Controller的属性的改变。2状态转变事件可以

    23、使你的程序对Controller对象的状态转变作出反应。Player当从一个状态转为另一状态时都会产生transition events。3当Controller关闭时,它将产生关闭事件。三、系统架构和功能模块分析3.1.MVC模式概述 MVC架构是“Model-View-Controller”的缩写,即将“模型-视图-控制”作为应用程序构成的三要素。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有以来的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Mo

    24、del中获取数据来刷新自己。相应地,本软件也同样使用MVC思想指导设计,做到模块细化,分工明确,模块间逻辑顺序清晰的三大目标。流程如图3-1所示图3-1 框架流程图3.2系统目标对于音频播放器,必须给用户提供最简单的操作和最完善的功能。至少应该能够对音频文件进行播放、暂停、停止、音量和进度拖放操作等。除了最基本的操作以外,优秀的播放器还提供了许多附加的功能来突出显示该媒体播放器的特色,例如本播放器的歌词实时显示。在这样的情况下,对播放器的设计目标要求有如下功能的实现:用户界面窗口的控制功能:播放器主窗口控制、播放列表窗口的控制和歌词显示窗口的控制;媒体文件的播放控制功能:开始播放、暂停播放、停

    25、止播放和拖动播放等;媒体文件的管理功能:添加歌曲、添加目录,删除歌曲、清空列表、保存列表和装载列表;音频文件信息显示功能:将音频文件的基本信息呈现给用户,同时用户自己可以设置一些信息。3.3系统功能模块概要设计本软件同样采用MVC的设计模式,做到控制,信息与视图的相互分离,同时相互间有联系紧密,互相调用,互为条件与依赖。故将系统分为五大模块进行构建,分别是用户界面模块播放控制模块播放信息模块播放列表控制模块歌词控制模块其相互关系如图3-2所示:用户请求事件 用户请求事件 视图信息更新 视图信息更新更新信息 信息 更新 读取 读取 更新图3-2 相互关系图3.3.1 用户界面模块为了实现软件产品

    26、界面的友好性和简洁性,同时又要保证功能的完整性,播放器的控制窗口的设计显得更是不同一般的重要。首先,给出该界面的组件组成。 于一个小小的窗口,要摆放这么多的控件,如果随便地放在窗口上的话,将会使窗口十分混乱,影响使用,所以要对其摆放位置进行合理的规划。这些控件被按照功能分成了3组,它们分别是控制面板、播放列表面板和LRC面板。这样一来,就可以实现软件产品界面的友好性与简洁性,条理分明,在保证软件产品功能完整性的同时,方便了用户的使用。各面板关系如图3-3:图3-3 面板关系图3.3.2 播放信息模块 放信息模块由播放信息,播放列表,歌曲信息节点三个层次嵌套而成,如3-4所示:图3-4 信息模块关系图3.4音频文件播放逻辑3.4.1 对音频文件的传递 音频文件的传送主要是用在播放列表处理的过程中,当播放器的用户想利用本播放器来播放一个音频文件时,首先要做的就是将该音频文件所


    注意事项

    本文(基于java的mp3播放器的设计与实现含源文件毕业设计论文Word文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开