1 / 23
文档名称:

MP3音乐播放器.doc

格式:doc   大小:181KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MP3音乐播放器.doc

上传人:zbfc1172 2019/8/17 文件大小:181 KB

下载得到文件列表

MP3音乐播放器.doc

文档介绍

文档介绍:成绩徐州工程学院综合训练报告课程名称面向对象程序设计综合设计专业计算机科学与技术(单)班级09计单学生姓名夏军学号20090502137设计题目MP3音乐播放器指导教师杨兴运设计起止时间:2011年12月21日至2012年1月6日概述本软件的设计是基于Java语言编写,其中涉及Java语言的内容包括:图形用户界面GUI、Socket网络编程、多线程、文件的输入/输出、字符串处理、容器、字符串与正则表达式、异常处理、XML文件解析以及面向对象的基本模型。 在实现音乐播放功能上,因为本软件的最基础也是最重要的功能是音乐播放。然而本次设计的侧重点是对Java语言的运用,所以并不会独立编写一个音频解码器。只是借助已经编写好的API类库。Java对于音乐的支持比较麻烦,主要原因是Java跨平台导致。Java的播放音乐的API主要包括两部分,一是JavaSE里面包含的JavaSoundAPI,二是作为独立于JavaSE之外的JavaMusicFramework。两者的主要差别在于所支持的声音文件格式不同。 Java平台提供的soundAPI支持的音乐文件有MIDI,RMF(RichMusicFormat)。声音格式:8位和16位单声道以及立体声音频数据,采样率在8khz和48khz之间。并没有对MP3进行支持。而JavaMusicFramework(JMF)支持播放MP3格式的音乐的播放。JMF意为Java媒体框架。该核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。但JMF需要进行下载安装,我们使用的操作系统上并没有自带,并且在某些联想(Lenovo)的机器上还会安装失败,而且JMF已经年久失修,不推荐使用。所以本软件使用了另外一个第三方类库Jlayer,它里面自带了两个后台播放器实现Player和AdvancedPlayer。但在查看该类库的API文档发现,该库在对音乐播放的控制上只支持音乐的停止播放和开始播放,并没有暂停功能。所以只能自己编写代码实现上述缺陷功能。在实现音乐暂停时,设计思想是当用户发出暂停命令时,保存当前播放的帧位置,然后关闭声卡;当由暂停状态转为播放状态时,打开音乐文件,然后根据暂停处的帧位置,跳过若干数据流,接着创建解码器对象,将解码器加入声卡对象中,播放当前的音乐文件。在读取MP3文件的ID3标签信息上使用的是互联网上的一段代码。 在实现对音乐播放控制上,由于音乐播放的过程中需要接受用户的操作命令,这就需要使用多线程技术的支持,使软件可以同时播放音乐和接收用户操作命令。软件运行时的线程主要包括主线程、音乐文件播放线程、音乐文件播放进度监听线程、歌词搜索线程4个线程。并这4个线程在运行过程中存在互相控制的情况。 在实现歌词在线下载功能上,本软件借鉴了网络上一段C#代码,对该C#代码使用Java语言进行了改写和改进。歌词下载的歌词来自一款流行的音乐播放器千千静听的歌词服务器。歌词下载的基本过程是获取需下载歌词的音乐文件的歌曲名和歌曲作者,然后进行相应处理,得到歌曲的下载链接,使用Java类库中的URL类对象对该网络路径下的歌词进行读取。并对查找到的歌词保存本地。一、需求分析①软件界面布局需求软件的基本布局如图1-1所示。并且要求软件启动时,其界面必须处于屏幕正中央。图1-1软件界面布局②音乐播放控制需求播放控制主要是对播放状态进行控制,为了支持用户更便捷的控制音乐的播放,此功能需要几个控制按钮。控制按钮代表的功能有:播放/暂停、停止、上一首、下一首、打开、退出。其中播放/暂停是复合功能按钮,可将播放状态变为播放或暂停。其基本布局如图1-2。当用户启动软件,软件处于就绪状态,不播放任何音乐。当用户通过打开按钮选择文件后,点击播放按钮,则此时软件播放播放列表中的第一个播放条目。当处于播放状态时,用户点击播放按钮,则播放状态由播放状态转为暂停状态。再次点击则再次进入播放状态。当播放状态为播放或暂停时,点击停止可将其音乐关闭。点击上一首/下一首按钮可以根据播放列表中的条目进行选择。点击打开按钮可以进行音乐文件的选择。点击退出则弹出确认是否退出对话框。图1-2播放控制布局③播放进度显示需求当音乐处于播放状态,能够通过进度条显示当前音乐的播放进度。当某一音乐播放完毕,则进度条归0。④播放列表需求播放列表中显示加入的歌曲的编号、名称和时长。并能对加入列表中的播放条目进行编辑、播放、下载歌词、评级等功能。可将通过文件选择对话框选择的文件加入播放列表中。⑤歌词面板需求能将歌词文本显示在歌词面板中,并且为居中对齐。⑥下载歌词需求当用户选中播放列表中的播放条目,可以执行下载对应歌词的功能。并显示在歌词面板上。二、具体实现①软件界面布局实现创建一个框架,将框架分成1行2列的布