基于JA V A的Mp3播放器JMPlayer作者姓名专业计算机科学与技术指导教师姓名专业技术职务讲师山东轻工业学院本科毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业论文,是本人在指导教师的指导下独立研究、撰写的成果。
论文中引用他人的文献、数据、图件、资料,均已在论文中加以说明,除此之外,本论文不含任何其他个人或集体已经发表或撰写的成果作品。
对本文研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示了谢意。
本声明的法律结果由本人承担。
毕业论文作者签名:年月日山东轻工业学院关于毕业设计(论文)使用授权的说明本毕业论文作者完全了解学校有关保留、使用毕业论文的规定,即:学校有权保留、送交论文的复印件,允许论文被查阅和借阅,学校可以公布设计论文的全部或部分内容,可以采用影印、扫描等复制手段保存本论文。
指导教师签名:毕业设计(论文)作者签名:年月日年月日目录摘要 (III)ABSTRACT (IV)第一章引言 (1)课题研究背景及意义 (1)音乐播发器的发展及历史 (1)系统开发目标 (2)本文的主要内容和结构 (2)第二章相关工具及技术介绍 (1)Eclipse简介 (3)Java Thread简介 (4)JavaSound简介 (5)Java Swing简介 (6)Java Properties简介 (7)第三章需求分析 (9)工作流程分析 (9)评价具体需求分析 (9)系统功能结构图 (9)功能详细描述 (10)Mp3播放 (10)播放控制 (10)播放信息控制 (10)Mp3列表管理 (11)歌词 (11)其他 (11)第四章总体设计 (12)系统要求 (12)系统功能描述 (12)系统运行环境 (13)系统设计思想 (13)总体流程设计 (13)Mp3播放设计 (14)播放模式设计 (15)Mp3文件列表管理设计 (15)歌词设计 (16)皮肤切换设计 (17)显示模式设计 (18)第五章详细设计 (19)界面设计 (19)系统关键类设计 (20)系统类结构 (22)第六章软件功能实现 (23)播放Mp3实现 (23)Mp3文件解析实现 (23)Mp3列表控制类实现 (23)Mp3歌词解析及显示控制实现 (23)结束语 (25)参考文献 (24)致谢 (27)摘要随着java 语言的出现,软件的跨平台性已经能被更进一步的解决和处理,随着Internet的发展,软件的跨平台性又被提高到另一个新的要求。
音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。
它涵盖了各种音乐格式的播放工具,比如:MP3播放器,WMA播放器,MP4播放器等。
它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。
本系统是一个简单的Mp3音乐播放器实现,旨在借助于java语言的强大的跨平台特性来实现本播放器的跨平台的通用。
但由于设计时间有限目前仅支持mp3和wav格式音乐文件的播放。
本系统的主要使用了Java中的多线程编程,系统中的mp3播放、歌词解析及显示、播放时间的显示控制、播放器的主界面等都是单独采用一个独立的线程来进行管理控制的。
本系统在结构上的核心设计模式采用了GOF的中介者模式,以此来使各个模块的相互耦合度降到最低,以便更容易的进行各个模块的独立的开发从而使整个系统的灵活性和可扩展性都得到提高。
开发时采用TDD。
关键词Java MusicPlayer multi-threadABSTRACTWith the development of java language, cross-platform natures of the software have been resolved and processed can be further, as the Internet's development, cross-platform of software has been raised to another of the new requirements.Music player is a multimedia playback software which can be played variety of music files. It covers player tools that can be played a variety of music formats, such as, MP3 player, WMA player, MP4 player. It not only has the beautiful interface but also operate simply. It will take you into a perfect music world.This system is a simple Mp3 music player .With the help of java language features that’s a powerful cross-platform, player is to be achieved this common cross-platform. As the time is limited , the Mp3 Player only can support mp3 and wav music files.The main use of this system is multi-thread in the Java program .In the system the mp3 playing, lyrics analysed and displayed, the control of play time, and the player's main interface are all used of an individual thread.The structure of the system's core design is using an Mediator Pattern which is called GOF pattern, in order to enable each module to minimize the coupling. In order to more easily carry out the independently developed of each module .So the system flexibility and scalability can be improved. The project was developed in TDD[4]. Key WordsJava;MusicPlayer;multi-thread第一章引言课题研究背景及意义当今时下, 随着信息技术的不断发展,软件技术的发展也是日新月异,人们对于音乐的享受方式也是不断的发生变化,各种音乐播放软件让人们享受变的更加的舒适,愉快和方便。
基于编程语言的不同以及Internet的发展,现在比较流行的音乐播放的形式有软件播放像千千静定,酷我音乐盒等,在线软件播放像百度的在线音乐盒,以及各大门户网站基本上都提供了在线收听音乐的服务。
在线收听的形式可以不依赖于操作系统的软件环境凡是能与Internet连接的计算机都可以进行在线收听。
但在收听也有它的局限性,像无法与Internet连接时。
这时候本地的音乐播放软件就显示出它的优势来了,但由于操作系统的本身软件环境及生产厂家的限制,使用非可夸平台语言编写的音乐播放软件无法做到在操作系统上的共用,本题目的意义在于使用java这种跨平台的语言,编写一个通用的音乐播放软件。
音乐播发器的发展及历史时下,音乐播放器已经成为人们生活中不可或缺的必备品。
它的诞生,让动听的声音有了存储的载体,得以广泛的传播和分享。
接下来,笔者就针对它的发展史做个简单的回顾。
1877年12月,爱迪生公开表演了留声机,“会说话的机器”诞生的消息,立刻轰动了全世界。
外界舆论马上把他誉为"科学界之拿破仑",留声机也成为19世纪最引人振奋的三大发明之一。
1898年,,从此,以硬磁性材料为载体,利用磁性材料的剩磁特性将声音信号记录在载体,具有重放、录音功能的磁带录音机开始在家庭普及。
随着社会的发展和科技的进步,人们对音色品质的追求越来越高。
老式录音机音色简单、苍白的特性,使其逐渐被社会淘汰。
代表着更清晰、立体声、更浑厚音质的播放器CD正式登上舞台。
1982年,世界上第一台CD播放器、同时也是索尼生产的第一台CD播放器诞生了—S on y’s CDP-101。
CD的出现,依靠完美的音质表现、快捷搜歌、方便携带等功能,风靡了播放器市场10多年之久。
直到MP3的出现。
尽管1995年9月9日发布的第一款实时软件MP3播放器Winplay3,已经让许多人能够在自己的个人电脑上编码和回放MP3文件,音乐播放器的智能时代正式来临,但是由于PC和互联网的发展所限,MP3并没有获得广泛的普及。
直到2001年10月,苹果公司推出了第一代IPOD,将MP3播放器演绎到艺术与文化的境界。
它不仅容量巨大,操作智能,而且外形时尚,一经推出,即刻获到全球范围内的热捧!苹果公司之所以强大,除了自身强大的研发能力和创新意识以外,善于利用外设厂商资源,也是其成功的重要一环。
在苹果的研发基地,来自全球70多家顶尖配件厂商共同参与苹果每一款新品的研发过程。
世界顶级音响制造品牌JBL、哈曼卡顿、全球最知名的三大耳机品牌UE、ETY、WESTONE都量身为IPOD打造完美的声音输出设备,让IPOD完美的音质得以淋漓尽致的展现。
系统开发目标本系统的开发目标为:开发出一个不受操作系统(此操作系统必须支持JA V ASE)限制的mp3音乐播放器。
此播放器要实现一般常见播放器的一些通用的功能。
要求系统的各个模块之间尽可能的达到高内聚,低耦合,要求系统具有较高的可维护性和可扩展性。
本文的主要内容和结构本论文由五章构成,其中第四、五章为核心部分,讲述了系统的实现。
具体的每个章节的主要内容如下:第一章引言。
主要介绍了课题的研究背景及意义以及系统的开发目标以及mp3播放器的发展历史。
第二章相关工具及技术介绍。
主要介绍了Java线程、Java多线程编程,java 音乐播放的主要API—JavaSound、播放器所使用的界面API—Swing、Eclipse开发工具。
第三章需求分析。
主要从需求的角度介绍了mp3音乐播放器的功能等。
第四章总体设计。
本章为本文的核心部分,主要介绍了mp3播放器的各个设计点的设计思想。