毕业设计(论文)基于Qt音频管理系统.doc
基于Qt音频管理系统指导老师:学生姓名: 日期:摘 要Qt是诺基亚开发的一个跨平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。本文介绍了从分析到开发到系统的设计与测试的整个音乐播放器的生成过程,包括了4个章节,第一章为绪论,简单介绍了音乐和音频编码;第二章为系统功能,用一张用例图表达了系统所需的基本功能;第三章为系统设计,以第二章为基础详细具体的罗列出系统的每个功能;第四章为系统实现,包括了主界面,每个功能界面的截图与代码片段。系统开发平台的介绍,具体介绍了Qt主要界面和使用方法,其中包括常用工具具体位置与使用方法和工作区的生成,项目的创建、项目中文件的添加删除、项目的编译、项目的测试等。后边几部分介绍了系统规划与分析,应用程序主界面,代码的编写与功能的实现,系统的编译与运行,最终实现了音乐播放器的功能,能对歌曲音乐进行播放和控制。关键词:Qt、播放器、组件编程Abstract The Nokia Qt is the development of a cross-platform C + + graphical user interface application framework. It provides application developers to build a state-of-the-art graphical user interface functionality required by. Qt is fully object oriented, and is easy to extend, and allows the real component programming.This paper introduced from the analysis to the development to system design and testing of the entire music player of the generation process, includes 4 chapters, the first chapter is the introduction, introduced a simple music and audio coding; second chapter is the system function, with a use case diagram to express the basic function; the third chapter is the system design, with second chapters based on detailed list the system each function; the fourth chapter for the realization of the system, including the main interface, the function of each interface screenshots with code snippets.The introduction to the systematic developing platform, specifically describes the Qt main interface and method of use, including the commonly used tools specific location and use method and the work area of the generation, creation of projects, project add files deleted, the project is compiled, the test project. Odd chapter introduced the system planning and analysis, the main application interface, the preparation of the code and the realization of the function, the compiler and operating system, finally achieved a music player function, can the music playback and control.Key Words: Qt、music player、component programming 目 录摘 要IAbstractII1 绪论11.1 音乐简介11.2 选题的背景及目的11.2.1 音频编码基本概念11.2.2 各种音频编码介绍31.2.3 研究的意义41.3 系统主要实现内容与实现方式51.3.1 系统主要实现内容51.3.2 系统的开发方法51.3.3系统的开发平台62 系统的功能分析73系统设计83.1系统概要设计83.2系统功能模块设计103.2.1加入文件113.2.2加入目录113.2.3歌曲列表113.2.4歌曲控制123.2.5音量设置123.2.6静音设置123.2.7播放列表123.3系统运行环境134系统实现134.1系统的编译与运行134.2系统运行134.3系统功能界面144.3.1加入文件功能实现144.3.2加入目录174.3.3打开歌曲列表194.3.4歌曲控制功能实现214.3.5音量控制功能实现234.3.6静音设置功能实现234.3.7播放进度条功能实现245总结25致谢26参考文献2671 绪 论1.1 音乐简介音乐一直以来就是人们日常休闲的必要调剂品,极大的丰富人们的精神生活。物体规则震动发出的声音称为乐音,由有组织的乐音来表达人们思想感情、反映现实生活的一种艺术就是音乐。分为声乐和器乐两大部门。在所有的艺术类型中,比较而言,音乐是最抽象的艺术。另有电影以此为名,以及音乐疗法:用音乐来减轻或消除患者的病痛。音乐是这样播放出来的,目前我们所听的音乐大部分都是MP3格式的音频文件,当然还有其它的格式,CD格式、WAVE(*.WAV)、AIFF、AU、MP3、MIDI、WMA、RealAudio、VQF、OggVorbis、AAC、APE,即当播放多媒体文件时,计算机将指令发给声卡,声卡按照指令将媒体播放信息重新合成起来。所以,音乐的播放效果取决于声卡的质量。FM合成芯片,低档声卡一般采用FM合成声音,以降低成本,FM合成芯片的作用就是用来产生合成声音。波形合成表,在波表ROM中存放有实际乐音的声音样本,供播放MIDI使用,一般的中高档声卡都采用波表方式,可以获得十分逼真的使用效果。压缩音频文件需要编码,播放音频文件需要解码。编码,解码的不同,导致音频在经过处理后得到的音质也不尽相同,而好的音质能够更好的满足人们的听觉享受。所以,对各种音频文件进行解码的技术研究就很有必要了。本文就是关于对音频解码技术相关研究,并设计出一款属于自己的音乐播放器软件。1.2 选题的背景及目的 1.2.1 音频编码基本概念1.什么是采样率和采样大小。 声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。波是无限光滑的,弦线可以看成由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样。采样的过程就是抽取某点的频率值,很显然,在一秒中内抽取的点越多,获取得频率信息更丰富,为了复原波形,一次振动中,必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用40kHz表达,这个40kHz就是采样率。采样率和采样大小的值越大,记录的波形更接近原始信号。2.有损和无损 根据采样率和采样大小可以得知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,相对自然界的信号,任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。因此,PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准,并不意味着PCM就能够确保信号绝对保真,PCM也只能做到最大程度的无限接近。我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。3.音频压缩技术 PCM音频流的码率,采样率值×采样大小值×声道数 bps。一个采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的WAV文件,它的数据速率则为 44.1K×16×2 =1411.2 Kbps。我们常说128K的MP3,对应的WAV的参数,就是这个1411.2 Kbps,这个参数也被称为数据带宽,它和ADSL中的带宽是一个概念。将码率除以8,就可以得到这个WAV的数据速率,即176.4KB/s。这表示存储一秒钟采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的音频信号,需要176.4KB的空间,1分钟则约为10.34M,这对大部分用户是不可接受的,尤其是喜欢在电脑上听音乐的朋友,要降低磁盘占用,只有2种方法,降低采样指标或者压缩。降低指标是不可取的,各种音频压缩编码所达到的音质和压缩比都不一样。4.频率与采样率的关系 采样率表示了每秒对原始信号采样的次数,我们常见到的音频文件采样率多为44.1KHz,假设我们有2段正弦波信号,分别为20Hz和20KHz,长度均为一秒钟,以对应我们能听到的最低频和最高频,分别对这两段信号进行40KHz的采样,结果是:20Hz的信号每次振动被采样了40K/20=2000次,而20K的信号每次振动只有2次采样。显然,在相同的采样率下,记录低频的信息远比高频的详细。这也是CD数码声不够真实的原因,CD的44.1KHz采样也无法保证高频信号被较好记录。要较好的记录高频信号,看来需要更高的采样率,在捕捉CD音轨的时候使用48KHz的采样率,这是不可取的!这其实对音质没有任何好处,对抓轨软件来说,保持和CD提供的44.1KHz一样的采样率才是最佳音质的保证之一,而不是去提高它。较高的采样率只有相对模拟信号的时候才有用,如果被采样的信号是数字的,不要去尝试提高采样率。5.流特征 随着网络的发展,人们对在线收听音乐提出了要求,因此也要求音频文件能够一边读一边播放,而不需要把这个文件全部读出后然后回放,这样就可以做到不用下载就可以实现收听了。也可以做到一边编码一边播放,正是这种特征,可以实现在线的直播,架设自己的数字广播电台成为了现实。1.2.2 各种音频编码介绍1.PCM编码PCM 脉冲编码调制是Pulse Code Modulation的缩写。我们不需要关心PCM最终编码采用的是什么计算方式,我们只需要知道PCM编码的音频流的优点和缺点就可以了。PCM编码的最大的优点就是音质好,最大的缺点就是体积大。我们常见的Audio CD就采用了PCM编码,一张光盘的容量只能容纳72分钟的音乐信息。2.WAV这是一种古老的音频文件格式,由微软开发。WAV是一种文件格式,符合RIFF (Resource Interchange File Format) 规范。所有的WAV都有一个文件头,这个文件头包含了音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。WAV可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,只要安装好了相应的Decode,就可以欣赏这些WAV了。在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。3.MP3MP3作为目前最为普及的音频压缩格式,为大家所大量接受,各种与MP3相关的软件产品层出不穷,而且更多的硬件产品也开始支持MP3,我们能够买到的VCD/DVD播放机都很多都能够支持MP3,还有更多的便携的MP3播放器等等,虽然几大音乐商极其反感这种开放的格式,但也无法阻止这种音频压缩的格式的生存与流传。MP3发展已经有10个年头了,他是MPEG(MPEG:Moving Picture Experts Group) Audio Layer-3的简称,是MPEG1的衍生编码方案,1993年由德国Fraunhofer IIS研究院和汤姆生公司合作发展成功。MP3可以做到12:1的惊人压缩比并保持基本可听的音质,在当年硬盘天价的日子里,MP3迅速被用户接受,随着网络的普及,MP3被数以亿计的用户接受。MP3编码技术的发布之初其实是非常不完善的,由于缺乏对声音和人耳听觉的研究,早期的mp3编码器几乎全是以粗暴方式来编码,音质破坏严重。随着新技术的不断导入,mp3编码技术一次一次的被改良,其中有2次重大技术上的改进。4.OGG编码Ogg Vorbis的音频编码,OGG是一个庞大的多媒体开发计划的项目名称,将涉及视频音频等方面的编码开发。整个OGG项目计划的目的就是向任何人提供完全免费多媒体编码方案。OGG的信念就是:OPEN,FREE,Vorbis。这几个个词汇成为了OGG项目中音频编码的正式命名。目前Vorbis已经开发成功,并且开发出了编码器。Ogg Vorbis是高质量的音频编码方案,官方数据显示:Ogg Vorbis可以在相对较低的数据速率下实现比MP3更好的音质。Ogg Vorbis这种编码也远比90年代开发成功的MP3先进,她可以支持多个声道,这意味着Ogg Vorbis在SACD、DTSCD、DVD AUDIO抓轨软件的支持下,可以对所有的声道进行编码,而不是MP3只能编码2个声道。多声道音乐的兴起,给音乐欣赏带来了革命性的变化,尤其在欣赏交响时,会带来更多临场感。这场革命性的变化是MP3无法适应的。和MP3一样,Ogg Vorbis是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。因此,它的声音质量将会越来越好,和MP3相似,Ogg Vorbis更像一个音频编码框架,可以不断导入新技术逐步完善。和MP3一样,OGG也支持VBR。1.2.3 研究的意义人类进入信息化时代以来,网络的长足发展和广泛的普及,使得人们能够更快,更方便的欣赏音乐。在个人PC上,一款音乐播放器在手,听尽世间音乐。而一款好的音乐播放器,能帮助人们更好的去欣赏音乐。现今网络上有许多优秀的音乐播放器,如千千静听等,他们内置了相当多的音频解码器,能够播放各种格式的音频文件。能编写属于自己的一款音乐播放器无疑是一件有趣的事情,但首先得了解音乐播放器是怎么实现对各种音频格式文件进行播放的,如何实现播放器上许多方便快捷的功能。带着这个目的,我选择了此课题。而对音频解码进行技术研究有助于了解其内在的原理,能够帮助我们更好的设计出一款属于自己的音乐播放器。1.3 系统主要实现内容与实现方式1.3.1 系统主要实现内容通过对音频编码技术的相关研究,了解音频编码的原理以及过程,从而设计出一款能够播放多音频格式的音乐播放器。这款音乐播放器实现的相关内容如下:1) 美观、时尚的操作界面。2) 显示正在播放的歌曲名。3) 歌曲控制方式要多样化。4) 显示歌曲的播放进度。5) MP3文件的添加方式多样化,并且要将其添加到歌曲列表中。6) 实现静音和音量的控制。1.3.2 系统的开发方法结构化生命周期法是一种传统的管理信息系统开发方法,其基本思想是把整个系统开发过程分成若干个阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的产品。采用结构化生命周期法开发管理信息系统时,应遵循的主要原则:(1) 用户参与的原则(2) “先逻辑后物理”的原则(3) “自顶向下”的原则(4) 工作成果描述(主要指文档)标准化的原则其具体开发步骤可分为以下四步:(1) 系统规划(2) 系统开发1. 系统分析1) 系统初步调查2) 系统可行性研究3) 现行系统的详细调查4) 新系统逻辑方案的提出2. 系统设计1) 系统总体结构设计2) 系统总体功能设计3) 系统总体物理结构设计4) 系统详细设计5) 数据库设计6) 代码设计7) 输入输出设计3. 系统实施1) 程序设计2) 系统测试(3) 系统的运行及维护(4) 系统评价 快速原型法是80年代发展起来的,旨在缩短开发周期,提高开发效率和用户对系统的满意程度。其基本思想是在系统开发的初期,尽快构造出系统的原型,使用户能及早地运行这个系统原型,通过使用它、熟悉它,受到启发并取得经验,然后对系统的目标和功能提出更精确、具体的要求,研制人员据此逐渐修改和完善原型,使它满足用户的需求,最后完成系统的开发。该方法大大提高了系统开发效率,弥补了结构化生命周期法开发时间长的缺陷。通常采用原型法需以下四个阶段:(1) 明确用户的基本要求(2) 研制系统的原型(3) 使用、评价系统原型(4) 修改和完善原型1.3.3系统的开发平台Qt是跨平台的应用程序和UI框架。它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt是诺基亚开发的一个跨平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE的基础。基本上,Qt同Window上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西,但Qt具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。2 系统的功能分析基于音乐播放器所要实现的内容,我们列出用户操作的模块,其中每个模块对应一个功能。加入文件加入目录播放列表歌曲控制静音设置音量设置显示列表图2.1 UML用例图确定了系统的功能。本系统需要完成的功能如下:1) 向系统中添加文件或目录。2) 将添加的MP3文件显示到歌曲列表中。3) 创建、打开、保存和关闭播放列表。4) 歌曲控制:包括打开/播放、暂停、停止5) 歌曲控制:上一首、下一首、循环、随机播放。6) 静音设置。7) 音量设置。8) 显示歌曲的播放进度、歌曲名和歌曲的长度。3系统设计3.1系统概要设计(1)一个音乐软件,要有列表、播放、暂停、停止、音量设置等基本功能,画出流程图,然后为这些组件建立一个目录框架,把开发过程中创建的文件和需要用到的文件都保存到这个目录中,这时我们需要创建一个文件夹,命名为Mplayer,其中存放程序所需的素材,这样文件结构清晰,以便于组织和管理。(2)对于创建的一个新的Qt应用程序来说,Qt使用一个project workspace来存储该项目所需的所有文件,其中project workspace就是一个文件夹,与项目相关的文件存储在该文件夹下.而一个项目又由一定数量的文件组成,如果要生成一个可执行程序,文件必须包括cpp文件和头文件,而这些文件通常都存储在同一工作区文件夹中.我们在New选择一个项目类型,创建一个新的GUI application首先从菜单单栏中选择File项打开如下图所示图3.1 File子菜单图3.2 New对话框在3.2所示的New对话框中选C+,选择子项GUI Application项目类型(3)当开始一个新项目里首先想好三项内容.第一项是项目类型是什么.第二项是项目名称是什么.第三项是项目是否需要form file.图3.3项目是否需要form file(需要的话,form file打上勾)图3.3 含一个活动工作区的IDE窗口(4)设计用户操作界面:界面直接表现一个应用程序的功能。Qt提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.用户界面主要包括对话框,工具栏和菜单,它们可以将应用程序的所有功能与界面中的控件或菜单命令联系起来。(5)测试与调试:这是开发人员在开发工作过程中经常要做的事。其目的就是要尽早发现源程序中可能存在的错误,并加以解决。随着开发工作的深入,不断地进行软件测试和调试,可以避免给后续工作带来更大的麻烦。实现一个新的功能的时候,最好检查一下功能是不是和所预定的功能一样,只有调试过后并且不存在错误后才允许付诸使用。3.2系统功能模块设计在系统功能分析的基础上,生成如图3.4所示的系统功能模块图。Mplayer加入目录加入文件播放列表歌曲控制静音设置音量设置歌曲列表图3.4 系统功能模块图3.2.1加入文件音乐的潮流步伐是快速的,我们常常需要向音乐播放器中添加时下最新的歌曲,以便能够及时欣赏。此功能模块能够选择电脑中或者从网络上已下载的最新的歌曲,将之加入播放器的播放列表,同时更新播放列表。然后,就能开始欣赏最新的音乐了。3.2.2加入目录我们可能将许多歌曲放在电脑中一个目录下面,如果要一首一首的向播放器中添加歌曲,显然是很麻烦的。此功能模块实现加入一个目录下面所有需要进行播放的歌曲,同时更新播放器播放列表。3.2.3歌曲列表我们听歌曲时,有时候想知道歌曲的相关信息,播放器的歌曲列表实现了此功能。歌曲列表,此功能模块实现通过一个对话框显示歌曲的相关信息并可以进行编辑,保存,删除。3.2.4歌曲控制我们听音乐时,不免需要对歌曲进行,听到一首好听的歌曲,可以让它循环播放,不喜欢听,可以切换下一首。歌曲控制,此功能模块实现对歌曲进行打开/播放、暂停、停止、上一首、下一首、循环播放等控制。3.2.5音量设置欣赏音乐时,不同的时间,不同的歌曲,不同的气氛,都对音量的要求是不同的。音量设置,就可以对当前正在播放的歌曲调节播放音量的大小,方便快捷的享受音乐带来的感动。3.2.6静音设置当听音乐时,有时有紧急事情需要处理,比如打电话,需要一个相对安静的当前环境。当然,你可以将音量调到最小,不过,更便捷的方法是直接就行对当前播放歌曲的静音。静音设置,此功能模块实现对当前正在播放的歌曲直接进行静音。3.2.7播放列表每次听音乐如果都要从电脑目录中选择需要播放的音乐是很麻烦的,播放列表可以帮助解决这个问题。播放列表。此功能模块实现对歌曲列表的新建/打开/关闭/保存。3.3系统运行环境硬件平台:处理器AMD双核2GB内存500GB硬盘软件平台:操作系统:Windows XP开发工具:Qt4系统实现4.1系统的编译与运行资源文件主要包括cpp源文件,头文件以及.pro文件。其中.pro文件为工程文件,编译工具也是通过.pro文件来得到所需要的源文件和头文件。当系统成功运行一次之后,在build-desktopdebug文件下会生产一个和工程名同名的可以执行文件,当然运行此.exe文件还需要相应的.dll文件。4.2系统运行这款音乐播放器启动运行后,程序主界面如图4.1所示:图4.1 音乐播放器界面4.3系统功能界面4.3.1加入文件功能实现功能描述:选择电脑中或者从网络上已下载的最新的歌曲,将之加入播放器的播放列表,同时更新播放列表。运行单击文件单击加入文件弹出打开文件对话框选中文件,单击打开完成添加图4.2 “加入文件”处理流程图流程描述:用户运行音乐播放器软件,单击播放器的设定歌曲按钮,选择加入文件。图4.3 “加入文件”对话框此时播放器调用addFiles()函数打开加入音乐对话框。从弹出的对话框中选择最后需要打开的文件,点击确定,从而实现添加文件的功能。代码片段:图4.4 加入文件功能代码4.3.2加入目录功能描述:实现加入一个目录下面所有需要进行播放的歌曲,同时更新播放器播放列表。处理流程:运行单击文件单击加入目录弹出打开目录对话框选中目录,单击打开完成添加图4.5 “加入目录”流程图流程描述:用户运行音乐播放器软件,单击播放器的设定歌曲按钮,选择加入目录,此时播放器调用addDirectory()函数,打开加入目录对话框:图4.6 “加入目录”对话框addDirectory()函数代码片段图4.7 加入目录功能代码4.3.3打开歌曲列表功能描述:此功能模块实现通过一个对话框打开.MPL播放列表。处理流程:运行单击文件单击打开列表选择所需.mpl文件单击打开播放器显示列表更新完成图4.8 “歌曲列表”功能流程图流程描述:运行音乐播放器软件,单击打开列表功能按钮,弹出文件信息对话框。图4.9 文件信息对话框openPlayList()代码片段图4.10 打开列表功能代码4.3.4歌曲控制功能实现功能描述:此功能模块实现对歌曲进行打开/播放、暂停、停止、上一首、下一首、顺序播放、循环播放和随机播放等控制。处理流程:运行单击相应的功能按钮播放器完成相应功能完成图4.11“歌曲控制”功能流程图流程描述:图4.12 控制功能按钮图4.13 模式功能演示图部分代码片段图4.14 模式功能代码4.3.5音量控制功能实现功能描述:可以对当前正在播放的歌曲调节播放音量的大小,方便快捷的享受音乐带来的感动。处理流程: 运行单击音量控制按钮左右滑动调节音量完成图4.15 “音量控制”功能流程图流程描述:运行音乐播放器软件,单击播放器右边音量控制功能按钮,左右拉动滑块进行音量调节,如图所示。图4.16 音量控制功能演示图4.3.6静音设置功能实现功能描述:此功能模块实现对当前正在播放的歌曲直接进行静音。处理流程:运行单击静音按钮进行静音/取消静音完成图4.17 “静音设置”功能流程图流程描述:运行音乐播放软件,单击播放器中间的静音按钮,具体如图所示。图4.18 静音控制功能演示图4.3.7播放进度条功能实现功能描述:定点播放音乐文件处理流程:运行单击进度条按钮左右拖动进度条按钮可以实现定点播放完成图4.19 定点播放功能流程图流程描述:运行音乐播放器软件,单击播放器顶上进度条按钮,左右拖动进度条按钮实现定点播放,如图所示。图4.20 进度条功能演示图 5总 结 通过三个月的努力,在老师和同学的帮助下顺利完成基于Qt的音频管理系统。这个总结,既为大学划上一个完美的句号,也为将来的人生做了一个铺垫。我选的题目是关于音乐播放器,之所以选这个为核心,是因为在大一的时候我就想做一个音乐播放器,现在也算是实现了一个小梦想。刚刚开始的时候,题目好定,但是内容却一再让我陷入迷茫,不知如何下手,说起来容易,做起来缺发现自己缺少太多,不过仔细回想以前,我基本是玩过来的,没有做一件正经事,这最后一次机会,我不能在错过,也就是怀揣着这种想法,我坚持下来了。在题目定下来之后的一个星期,我基本都是迷茫,到处搜索资料,还好通过老师的指导,我提取有用的资料。剩下就是通过这些资料和我的想法一一对应,然后组合到一起,就成了我的音频管理系统,其实这套系统包含了所有主要功能。在系统开发完成之后,通过自己用过的资料,我撰写了论文的初稿,并且将初稿邮件给指导老师,老师对我的论文初稿进行仔细的修改,主要是论文格式。一篇好的论文不是写出来的,而是一次一次修改,这需要耐心和用心!致 谢经过本次Mplayer项目,我对Qt有了更加深入的认识,这次项目是设计一个音乐播放器,播放器有着所有的基本功能,最终的调试结果播放器能按照预定的设计正常工作。尊敬的远程与继续教育学院的领导、老师,衷心感谢你们对我的关心和爱护。感谢所有执教我们的老师,你们渊博的知识、严谨的治学、高尚的道德、浓厚的学习氛围给我们留下了难忘的印象。同时感谢所有辛勤工作的行政、教务、后勤的工作人员,谢谢你们默默无闻的工作、热情周到的服务。在华中科技大学近四年的大学学习时间,我感受到了良好的校园气氛,同时亦感学有所获,谨向诸位领导、老师和工作人员之一衷心的感谢。本论文是在我的导师高俊雄的悉心指导下完成的。本次毕业论文完成的过程中,得到了指导老师高俊雄的大力帮助,同时,学院领导的关心和帮助,正是因为他们严格地管理和耐心地指导使得本次毕业设计能够顺利完成,在此谨致以衷心的感谢和崇高的敬意!在此,谨向导师、所有帮助过作者的领导、老师、同学和朋友们表示最诚挚的感谢。并衷心感谢评审老师在百忙之中抽出宝贵时间仔细审阅我的论文。参考文献1 Liu J, Yu T. Qt-based embedded control system design C/ Computer Application and System Modeling (ICCASM),2010 Internation Conference, Taiyuan, China.2010: 561566.2 Nokia Corporation. Qt 4.6: Phonon overview EB/OL.2011-03-16. 3 The MPlayer Team. MPlayerthe movie player EB/OL. 2011-03-16. http:/www.mplayerhq.hu/ design7/info. html;4 Zhang H B, Li H, Wu D, Yuan A S, Sun T, Yi P,Hu A C, Wang B Q. The design and implementation of an embedded high definition player C/ Computer and Automation Engineering (ICCAE), 2010 the 2nd International Conference, Singapore. 2010: 301304;5 QT的图形程序设计教程。