基于Qt的音频管理系统的设计与实现本科生毕业论文Word文档格式.docx
《基于Qt的音频管理系统的设计与实现本科生毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Qt的音频管理系统的设计与实现本科生毕业论文Word文档格式.docx(70页珍藏版)》请在冰豆网上搜索。
![基于Qt的音频管理系统的设计与实现本科生毕业论文Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/10/54f1bc0f-3bf0-40e2-89f8-c71d674f21ec/54f1bc0f-3bf0-40e2-89f8-c71d674f21ec1.gif)
关键词Qt;
音频管理系统;
设计;
实现
DesignandimplementationofaudiomanagementsystembasedonQt
Abstract
WiththedevelopmentoftheInternet,thePChasbeenunabletomeettheneedsoftheaudioterminaluser.Despitevariousofcomputeroperatingsystem,suchasWINDOWS,LINUX,UNIX,MACOSetc,andvariousofmobiledevelopmentplatform,suchasAndroid,BlackBerry,OS,IOS,WindowsMobile,WindowsPhone,Palmetc,differentoperatingsystemsrequiredifferentsoftwaresystemstodevelopthecorrespondingapplication.Thesamefunctionneedstodevelopseveraltimes,whichbringsredundantworkfortheprogrammer.
Thispaper,basedontheQt,carryingonthedemandanalysisoftheactualdesignoftheaudiomanagementsystem,usingthedevelopmentprocessofsoftwareengineeringandobject-orientedidea,constructingthegeneralframeworkofaudiomanagementsystem,andprovidesatheoreticalbasisfortheimplementationofthefinalaudiomanagementsystemfinally.
ThetestresultsshowthatQtaudiomanagementsystemcanruninWin7basedontheQt5.2anditcanalsorunonubuntuQt5.2,thecodeonlyminoradjustments,reducingtheamountofcodeprogrammers,savingdevelopmentcosts,providinganimportantreferenceforfuturedevelopment.
KeywordsQt;
audiomanagementsystem;
design;
implementation
1绪论
1.1开发背景
Qt是1991年奇趣科技(Trolltech)开发的一个跨平台的C++图形用户界面应用程序框架[3,9]。
它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。
Qt很容易扩展,并且允许真正地组件编程。
2012年,Qt被Digia收购,之后发布Qt5.1、5.2版本,提供QtforAndroid(Alpha)、QtforIOS。
Qt的优势在于,良好的可移植性,可支持大多数操作系统,如MicrosoftWindows7,Linux,Solaris,SunOS,HP-UX,DigitalUNIX(OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等;
面向对象,Qt良好的封装机制使得Qt模块化程度非常高,代码可重用性较好,很方便用户开发丰富的API,Qt包含250个以上的C++类,并且有相应的帮助文档;
支持2D3D图形渲染,支持XML。
Qt针对嵌入式环境推出了QtEmbeeded产品,QtEmbedded具有跨平台的特点,省掉了不少移植软件的功夫,用模块化设计,有弹性,QtEmbedded最小可以缩到800KB左右,最多可以长到3MB(forIntelx86),使得QtEmbedded更适合在嵌入式环境下生存[1,5-8,10-11]。
基于Qt跨平台的图形用户界面应用程序框架,用的是C++开发语言。
C++语言简洁灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点,与其它语言相比,C语言具有可以直接访问物理地址的优点,与汇编语言相比又具有良好的可读性的可移植性。
总得来说,C++语言的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法。
它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。
另外,由于C语言的广泛使用,因而极大的促进了C++的普及和推广。
C++语言最有意义的方面是支持面向对象的特征。
虽然与C的兼容使得C++具有双重特点,但他在概念上完全与C不同,更具面向对象的特征。
智能家居等将是一个发展的趋势,嵌入式产品也必将走入千家万户。
而目前PC机的音频管理软件占用的磁盘空间以及内存较大所以基于Qt的音频管理系统的设计与实现有很重要的意义。
基于这种形式的把握,也基于对这种技术的学习与理解,我选择了这个课题。
对音频解码技术进行研究,有助于理解其内在的原理,能够帮助我们更好的实现代码功能。
1.2系统目标
系统开发的总任务是设计并实现一个音频管理系统。
通过本系统可以添加音频文件,以演唱者管理音频文件,以专辑管理音频文件[2,4]。
你可以有一个播放列表,方便用户知道系统中有哪些音乐文件。
当然了有播放列表,就要有播放功能。
选中歌曲,用户可以点击播放按钮,播放音乐文件。
当然有相应的控制功能,上一曲,下一曲。
基本的音量控制,音量的高低调节,静音功能。
1.3基于Qt程序的音频管理系统的设计的必要性
随着计算机技术、电子技术和通信技术的迅猛发展,嵌入式系统已经成为最热门、最有前途的IT应用领域之一,成为通讯和消费产品的共同发展方向。
它广泛应用于人们在工作生活的各个方面,几乎包括了所有的电器设备。
在嵌入式技术快速发展的同时,嵌入式音频设备已然成为当今人类生活中的热点。
对于这些音乐文件的管理也将成为程序员考虑的重点。
各种设备中的操作系统的种类不同,程序员在开发的时候总是要做重复的工作,不能把工作的重点放在设计上。
基于Qt的平台正好给大家提供了一个这样的平台。
代码不需要太多的改动,就可以运行在各种操作系统上。
而且Qt是基于模块的设计思想,只需要加载你所需要的模块,符合嵌入式定制性强,模块简单的特点。
所以基于Qt的音频管理系统非常的设计与实现非常必要。
本系统主要基于Qt跨平台的图形用户界面应用程序框架,用的是C++开发语言,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
2关键技术介绍
2.1音频编码的简单概念
2.1.1采样率和采样大小
声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。
波是无限光滑的,弦线可以看成由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样。
采样的过程就是抽取某点的频率值,很显然,在一秒中内抽取的点越多,获取得频率信息更丰富,为了复原波形,一次振动中,必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用40kHz表达,这个40kHz就是采样率。
采样率和采样大小的值越大,记录的波形更接近原始信号。
2.1.2有损和无损
根据采样率和采样大小可以得知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,相对自然界的信号,任何数字音频编码方案都是有损的,因为无法完全还原。
在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。
因此,PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准,并不意味着PCM就能够确保信号绝对保真,PCM也只能做到最大程度的无限接近。
我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。
2.1.3音频压缩技术
PCM音频流的码率,采样率值×
采样大小值×
声道数bps。
一个采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的WAV文件,它的数据速率则为44.1K×
16×
2=1411.2Kbps。
我们常说128K的MP3,对应的WAV的参数,就是这个1411.2Kbps,这个参数也被称为数据带宽,它和ADSL中的带宽是一个概念。
将码率除以8,就可以得到这个WAV的数据速率,即176.4KB/s。
这表示存储一秒钟采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的音频信号,需要176.4KB的空间,1分钟则约为10.34M,这对大部分用户是不可接受的,尤其是喜欢在电脑上听音乐的朋友,要降低磁盘占用,只有2种方法,降低采样指标或者压缩。
降低指标是不可取的,各种音频压缩编码所达到的音质和压缩比都不一样。
2.1.4频率和采样率
采样率表示了每秒对原始信号采样的次数,我们常见到的音频文件采样率多为44.1KHz,假设我们有2段正弦波信号,分别为20Hz和20KHz,长度均为一秒钟,以对应我们能听到的最低频和最高频,分别对这两段信号进行40KHz的采样,结果是:
20Hz的信号每次振动被采样了40K/20=2000次,而20K的信号每次振动只有2次采样。
显然,在相同的采样率下,记录低频的信息远比高频的详细。
这也是CD数码声不够真实的原因,CD的44.1KHz采样也无法保证高频信号被较好记录。
要较好的记录高频信号,看来需要更高的采样率,在捕捉CD音轨的时候使用48KHz的采样率,这是不可取的!
这其实对音质没有任何好处,对抓轨软件来说,保持和CD提供的44.1KHz一样的采样率才是最佳音质的保证之一,而不是去提高它。
较高的采样率只有相对模拟信号的时候才有用,如果被采样的信号是数字的,不要去尝试提高采样率。
2.1.5流特征
随着网络的发展,人们对在线收听音乐提出了要求,因此也要求音频文件能够一边读一边播放,而不需要把这个文件全部读出后然后回放,这样就可以做到不用下载就可以