版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于基于 qtqt 音頻管理系統(tǒng)音頻管理系統(tǒng)指導(dǎo)老師:指導(dǎo)老師:學(xué)生姓名:學(xué)生姓名: 日期:日期:摘摘 要要qt是諾基亞開發(fā)的一個(gè)跨平臺(tái)的c+圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功能。qt是完全面向?qū)ο蟮?,很容易擴(kuò)展,并且允許真正地組件編程。本文介紹了從分析到開發(fā)到系統(tǒng)的設(shè)計(jì)與測(cè)試的整個(gè)音樂(lè)播放器的生成過(guò)程,包括了4個(gè)章節(jié),第一章為緒論,簡(jiǎn)單介紹了音樂(lè)和音頻編碼;第二章為系統(tǒng)功能,用一張用例圖表達(dá)了系統(tǒng)所需的基本功能;第三章為系統(tǒng)設(shè)計(jì),以第二章為基礎(chǔ)詳細(xì)具體的羅列出系統(tǒng)的每個(gè)功能;第四章為系統(tǒng)實(shí)現(xiàn),包括了主界面,每個(gè)功能界面的截圖與代碼片段。系統(tǒng)開
2、發(fā)平臺(tái)的介紹,具體介紹了qt主要界面和使用方法,其中包括常用工具具體位置與使用方法和工作區(qū)的生成,項(xiàng)目的創(chuàng)建、項(xiàng)目中文件的添加刪除、項(xiàng)目的編譯、項(xiàng)目的測(cè)試等。后邊幾部分介紹了系統(tǒng)規(guī)劃與分析,應(yīng)用程序主界面,代碼的編寫與功能的實(shí)現(xiàn),系統(tǒng)的編譯與運(yùn)行,最終實(shí)現(xiàn)了音樂(lè)播放器的功能,能對(duì)歌曲音樂(lè)進(jìn)行播放和控制。關(guān)鍵詞:關(guān)鍵詞:qt、播放器、組件編程abstract the nokia qt is the development of a cross-platform c + + graphical user interface application framework. it provides ap
3、plication 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 mus
4、ic 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 base
5、d 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 meth
6、od 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
7、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 目目 錄錄摘摘 要要.i iabstractabstract.iiii1 1 緒論緒論.1 11.1 音樂(lè)簡(jiǎn)介 .11.2 選題的背景及目的 .11.2.1
8、 音頻編碼基本概念.11.2.2 各種音頻編碼介紹.31.2.3 研究的意義.41.3 系統(tǒng)主要實(shí)現(xiàn)內(nèi)容與實(shí)現(xiàn)方式 .51.3.1 系統(tǒng)主要實(shí)現(xiàn)內(nèi)容.51.3.2 系統(tǒng)的開發(fā)方法.51.3.3 系統(tǒng)的開發(fā)平臺(tái) .62 2 系統(tǒng)的功能分析系統(tǒng)的功能分析.7 73 3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) .8 83.1 系統(tǒng)概要設(shè)計(jì) .83.2 系統(tǒng)功能模塊設(shè)計(jì) .103.2.1 加入文件 .113.2.2 加入目錄 .113.2.3 歌曲列表 .113.2.4 歌曲控制 .123.2.5 音量設(shè)置 .123.2.6 靜音設(shè)置 .123.2.7 播放列表 .123.3 系統(tǒng)運(yùn)行環(huán)境 .134 4 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)
9、.13134.1 系統(tǒng)的編譯與運(yùn)行 .134.2 系統(tǒng)運(yùn)行 .134.3 系統(tǒng)功能界面 .144.3.1 加入文件功能實(shí)現(xiàn) .144.3.2 加入目錄 .174.3.3 打開歌曲列表 .194.3.4 歌曲控制功能實(shí)現(xiàn) .214.3.5 音量控制功能實(shí)現(xiàn) .234.3.6 靜音設(shè)置功能實(shí)現(xiàn) .234.3.7 播放進(jìn)度條功能實(shí)現(xiàn) .245 5 總結(jié)總結(jié) .2525致致謝謝.2626參考文獻(xiàn)參考文獻(xiàn).26267 71 緒緒 論論1.1 音樂(lè)簡(jiǎn)介音樂(lè)簡(jiǎn)介音樂(lè)一直以來(lái)就是人們?nèi)粘P蓍e的必要調(diào)劑品,極大的豐富人們的精神生活。物體規(guī)則震動(dòng)發(fā)出的聲音稱為樂(lè)音,由有組織的樂(lè)音來(lái)表達(dá)人們思想感情、反映現(xiàn)實(shí)生活的
10、一種藝術(shù)就是音樂(lè)。分為聲樂(lè)和器樂(lè)兩大部門。在所有的藝術(shù)類型中,比較而言,音樂(lè)是最抽象的藝術(shù)。另有電影以此為名,以及音樂(lè)療法:用音樂(lè)來(lái)減輕或消除患者的病痛。音樂(lè)是這樣播放出來(lái)的,目前我們所聽的音樂(lè)大部分都是 mp3 格式的音頻文件,當(dāng)然還有其它的格式,cd 格式、wave(*.wav) 、aiff、au、mp3、midi、wma、realaudio、vqf、oggvorbis、aac、ape,即當(dāng)播放多媒體文件時(shí),計(jì)算機(jī)將指令發(fā)給聲卡,聲卡按照指令將媒體播放信息重新合成起來(lái)。所以,音樂(lè)的播放效果取決于聲卡的質(zhì)量。fm 合成芯片,低檔聲卡一般采用 fm 合成聲音,以降低成本,fm 合成芯片的作用就
11、是用來(lái)產(chǎn)生合成聲音。波形合成表,在波表 rom 中存放有實(shí)際樂(lè)音的聲音樣本,供播放 midi 使用,一般的中高檔聲卡都采用波表方式,可以獲得十分逼真的使用效果。壓縮音頻文件需要編碼,播放音頻文件需要解碼。編碼,解碼的不同,導(dǎo)致音頻在經(jīng)過(guò)處理后得到的音質(zhì)也不盡相同,而好的音質(zhì)能夠更好的滿足人們的聽覺享受。所以,對(duì)各種音頻文件進(jìn)行解碼的技術(shù)研究就很有必要了。本文就是關(guān)于對(duì)音頻解碼技術(shù)相關(guān)研究,并設(shè)計(jì)出一款屬于自己的音樂(lè)播放器軟件。1.2 選題的背景及目的選題的背景及目的 .1 音頻編碼基本概念音頻編碼基本概念1.什么是采樣率和采樣大小。 聲音其實(shí)是一種能量波,因此也有頻率和振幅的特
12、征,頻率對(duì)應(yīng)于時(shí)間軸線,振幅對(duì)應(yīng)于電平軸線。波是無(wú)限光滑的,弦線可以看成由無(wú)數(shù)點(diǎn)組成,由于存儲(chǔ)空間是相對(duì)有限的,數(shù)字編碼過(guò)程中,必須對(duì)弦線的點(diǎn)進(jìn)行采樣。采樣的過(guò)程就是抽取某點(diǎn)的頻率值,很顯然,在一秒中內(nèi)抽取的點(diǎn)越多,獲取得頻率信息更豐富,為了復(fù)原波形,一次振動(dòng)中,必須有 2 個(gè)點(diǎn)的采樣,人耳能夠感覺到的最高頻率為 20khz,因此要滿足人耳的聽覺要求,則需要至少每秒進(jìn)行 40k 次采樣,用 40khz 表達(dá),這個(gè) 40khz 就是采樣率。采樣率和采樣大小的值越大,記錄的波形更接近原始信號(hào)。2.有損和無(wú)損 根據(jù)采樣率和采樣大小可以得知,相對(duì)自然界的信號(hào),音頻編碼最多只能做到無(wú)限接近,至少目前的技
13、術(shù)只能這樣了,相對(duì)自然界的信號(hào),任何數(shù)字音頻編碼方案都是有損的,因?yàn)闊o(wú)法完全還原。在計(jì)算機(jī)應(yīng)用中,能夠達(dá)到最高保真水平的就是 pcm 編碼,被廣泛用于素材保存及音樂(lè)欣賞,cd、dvd以及我們常見的 wav 文件中均有應(yīng)用。因此,pcm 約定俗成了無(wú)損編碼,因?yàn)?pcm 代表了數(shù)字音頻中最佳的保真水準(zhǔn),并不意味著 pcm 就能夠確保信號(hào)絕對(duì)保真,pcm 也只能做到最大程度的無(wú)限接近。我們而習(xí)慣性的把 mp3 列入有損音頻編碼范疇,是相對(duì) pcm 編碼的。3.音頻壓縮技術(shù) pcm 音頻流的碼率,采樣率值采樣大小值聲道數(shù) bps。一個(gè)采樣率為 44.1khz,采樣大小為 16bit,雙聲道的 pcm
14、 編碼的 wav 文件,它的數(shù)據(jù)速率則為 44.1k162 =1411.2 kbps。我們常說(shuō) 128k 的 mp3,對(duì)應(yīng)的wav 的參數(shù),就是這個(gè) 1411.2 kbps,這個(gè)參數(shù)也被稱為數(shù)據(jù)帶寬,它和adsl 中的帶寬是一個(gè)概念。將碼率除以 8,就可以得到這個(gè) wav 的數(shù)據(jù)速率,即 176.4kb/s。這表示存儲(chǔ)一秒鐘采樣率為 44.1khz,采樣大小為 16bit,雙聲道的 pcm 編碼的音頻信號(hào),需要 176.4kb 的空間,1 分鐘則約為 10.34m,這對(duì)大部分用戶是不可接受的,尤其是喜歡在電腦上聽音樂(lè)的朋友,要降低磁盤占用,只有 2 種方法,降低采樣指標(biāo)或者壓縮。降低指標(biāo)是不可
15、取的,各種音頻壓縮編碼所達(dá)到的音質(zhì)和壓縮比都不一樣。4.頻率與采樣率的關(guān)系 采樣率表示了每秒對(duì)原始信號(hào)采樣的次數(shù),我們常見到的音頻文件采樣率多為 44.1khz,假設(shè)我們有 2 段正弦波信號(hào),分別為 20hz 和 20khz,長(zhǎng)度均為一秒鐘,以對(duì)應(yīng)我們能聽到的最低頻和最高頻,分別對(duì)這兩段信號(hào)進(jìn)行40khz 的采樣,結(jié)果是:20hz 的信號(hào)每次振動(dòng)被采樣了 40k/20=2000 次,而20k 的信號(hào)每次振動(dòng)只有 2 次采樣。顯然,在相同的采樣率下,記錄低頻的信息遠(yuǎn)比高頻的詳細(xì)。這也是 cd 數(shù)碼聲不夠真實(shí)的原因,cd 的 44.1khz 采樣也無(wú)法保證高頻信號(hào)被較好記錄。要較好的記錄高頻信號(hào),
16、看來(lái)需要更高的采樣率,在捕捉 cd 音軌的時(shí)候使用 48khz 的采樣率,這是不可取的!這其實(shí)對(duì)音質(zhì)沒(méi)有任何好處,對(duì)抓軌軟件來(lái)說(shuō),保持和 cd 提供的 44.1khz 一樣的采樣率才是最佳音質(zhì)的保證之一,而不是去提高它。較高的采樣率只有相對(duì)模擬信號(hào)的時(shí)候才有用,如果被采樣的信號(hào)是數(shù)字的,不要去嘗試提高采樣率。5.流特征 隨著網(wǎng)絡(luò)的發(fā)展,人們對(duì)在線收聽音樂(lè)提出了要求,因此也要求音頻文件能夠一邊讀一邊播放,而不需要把這個(gè)文件全部讀出后然后回放,這樣就可以做到不用下載就可以實(shí)現(xiàn)收聽了。也可以做到一邊編碼一邊播放,正是這種特征,可以實(shí)現(xiàn)在線的直播,架設(shè)自己的數(shù)字廣播電臺(tái)成為了現(xiàn)實(shí)。.2
17、 各種音頻編碼介紹各種音頻編碼介紹1.pcm 編碼pcm 脈沖編碼調(diào)制是 pulse code modulation 的縮寫。我們不需要關(guān)心pcm 最終編碼采用的是什么計(jì)算方式,我們只需要知道 pcm 編碼的音頻流的優(yōu)點(diǎn)和缺點(diǎn)就可以了。pcm 編碼的最大的優(yōu)點(diǎn)就是音質(zhì)好,最大的缺點(diǎn)就是體積大。我們常見的 audio cd 就采用了 pcm 編碼,一張光盤的容量只能容納 72分鐘的音樂(lè)信息。2.wav這是一種古老的音頻文件格式,由微軟開發(fā)。wav 是一種文件格式,符合 riff (resource interchange file format) 規(guī)范。所有的 wav 都有一個(gè)文件頭,這個(gè)文件頭
18、包含了音頻流的編碼參數(shù)。wav 對(duì)音頻流的編碼沒(méi)有硬性規(guī)定,除了 pcm 之外,還有幾乎所有支持 acm 規(guī)范的編碼都可以為 wav 的音頻流進(jìn)行編碼。wav 可以使用多種音頻編碼來(lái)壓縮其音頻流,不過(guò)我們常見的都是音頻流被 pcm 編碼處理的 wav,但這不表示 wav 只能使用 pcm 編碼,mp3 編碼同樣也可以運(yùn)用在 wav 中,只要安裝好了相應(yīng)的 decode,就可以欣賞這些 wav 了。在 windows 平臺(tái)下,基于 pcm 編碼的 wav 是被支持得最好的音頻格式,所有音頻軟件都能完美支持,由于本身可以達(dá)到較高的音質(zhì)的要求,因此,wav 也是音樂(lè)編輯創(chuàng)作的首選格式,適合保存音樂(lè)素
19、材。因此,基于 pcm 編碼的 wav 被作為了一種中介的格式,常常使用在其他編碼的相互轉(zhuǎn)換之中,例如 mp3 轉(zhuǎn)換成 wma。3.mp3mp3 作為目前最為普及的音頻壓縮格式,為大家所大量接受,各種與mp3 相關(guān)的軟件產(chǎn)品層出不窮,而且更多的硬件產(chǎn)品也開始支持 mp3,我們能夠買到的 vcd/dvd 播放機(jī)都很多都能夠支持 mp3,還有更多的便攜的 mp3播放器等等,雖然幾大音樂(lè)商極其反感這種開放的格式,但也無(wú)法阻止這種音頻壓縮的格式的生存與流傳。mp3 發(fā)展已經(jīng)有 10 個(gè)年頭了,他是mpeg(mpeg:moving picture experts group) audio layer-3
20、 的簡(jiǎn)稱,是 mpeg1的衍生編碼方案,1993 年由德國(guó) fraunhofer iis 研究院和湯姆生公司合作發(fā)展成功。mp3 可以做到 12:1 的驚人壓縮比并保持基本可聽的音質(zhì),在當(dāng)年硬盤天價(jià)的日子里,mp3 迅速被用戶接受,隨著網(wǎng)絡(luò)的普及,mp3 被數(shù)以億計(jì)的用戶接受。mp3 編碼技術(shù)的發(fā)布之初其實(shí)是非常不完善的,由于缺乏對(duì)聲音和人耳聽覺的研究,早期的 mp3 編碼器幾乎全是以粗暴方式來(lái)編碼,音質(zhì)破壞嚴(yán)重。隨著新技術(shù)的不斷導(dǎo)入,mp3 編碼技術(shù)一次一次的被改良,其中有 2 次重大技術(shù)上的改進(jìn)。4.ogg 編碼ogg vorbis 的音頻編碼,ogg 是一個(gè)龐大的多媒體開發(fā)計(jì)劃的項(xiàng)目名稱
21、,將涉及視頻音頻等方面的編碼開發(fā)。整個(gè) ogg 項(xiàng)目計(jì)劃的目的就是向任何人提供完全免費(fèi)多媒體編碼方案。ogg 的信念就是:open,free,vorbis。這幾個(gè)個(gè)詞匯成為了 ogg 項(xiàng)目中音頻編碼的正式命名。目前 vorbis 已經(jīng)開發(fā)成功,并且開發(fā)出了編碼器。ogg vorbis 是高質(zhì)量的音頻編碼方案,官方數(shù)據(jù)顯示:ogg vorbis 可以在相對(duì)較低的數(shù)據(jù)速率下實(shí)現(xiàn)比mp3 更好的音質(zhì)。ogg vorbis 這種編碼也遠(yuǎn)比 90 年代開發(fā)成功的 mp3 先進(jìn),她可以支持多個(gè)聲道,這意味著 ogg vorbis 在 sacd、dtscd、dvd audio抓軌軟件的支持下,可以對(duì)所有的聲
22、道進(jìn)行編碼,而不是 mp3 只能編碼 2 個(gè)聲道。多聲道音樂(lè)的興起,給音樂(lè)欣賞帶來(lái)了革命性的變化,尤其在欣賞交響時(shí),會(huì)帶來(lái)更多臨場(chǎng)感。這場(chǎng)革命性的變化是 mp3 無(wú)法適應(yīng)的。和 mp3 一樣,ogg vorbis 是一種靈活開放的音頻編碼,能夠在編碼方案已經(jīng)固定下來(lái)后還能對(duì)音質(zhì)進(jìn)行明顯的調(diào)節(jié)和新算法的改良。因此,它的聲音質(zhì)量將會(huì)越來(lái)越好,和 mp3 相似,ogg vorbis 更像一個(gè)音頻編碼框架,可以不斷導(dǎo)入新技術(shù)逐步完善。和 mp3 一樣,ogg 也支持 vbr。.3 研究的意義研究的意義人類進(jìn)入信息化時(shí)代以來(lái),網(wǎng)絡(luò)的長(zhǎng)足發(fā)展和廣泛的普及,使得人們能夠更快,更方便的欣賞音樂(lè)
23、。在個(gè)人 pc 上,一款音樂(lè)播放器在手,聽盡世間音樂(lè)。而一款好的音樂(lè)播放器,能幫助人們更好的去欣賞音樂(lè)?,F(xiàn)今網(wǎng)絡(luò)上有許多優(yōu)秀的音樂(lè)播放器,如千千靜聽等,他們內(nèi)置了相當(dāng)多的音頻解碼器,能夠播放各種格式的音頻文件。能編寫屬于自己的一款音樂(lè)播放器無(wú)疑是一件有趣的事情,但首先得了解音樂(lè)播放器是怎么實(shí)現(xiàn)對(duì)各種音頻格式文件進(jìn)行播放的,如何實(shí)現(xiàn)播放器上許多方便快捷的功能。帶著這個(gè)目的,我選擇了此課題。而對(duì)音頻解碼進(jìn)行技術(shù)研究有助于了解其內(nèi)在的原理,能夠幫助我們更好的設(shè)計(jì)出一款屬于自己的音樂(lè)播放器。1.3 系統(tǒng)主要實(shí)現(xiàn)內(nèi)容與實(shí)現(xiàn)方式系統(tǒng)主要實(shí)現(xiàn)內(nèi)容與實(shí)現(xiàn)方式.1 系統(tǒng)主要實(shí)現(xiàn)內(nèi)容系統(tǒng)主要實(shí)現(xiàn)內(nèi)
24、容通過(guò)對(duì)音頻編碼技術(shù)的相關(guān)研究,了解音頻編碼的原理以及過(guò)程,從而設(shè)計(jì)出一款能夠播放多音頻格式的音樂(lè)播放器。這款音樂(lè)播放器實(shí)現(xiàn)的相關(guān)內(nèi)容如下:1)美觀、時(shí)尚的操作界面。2)顯示正在播放的歌曲名。3)歌曲控制方式要多樣化。4)顯示歌曲的播放進(jìn)度。5)mp3 文件的添加方式多樣化,并且要將其添加到歌曲列表中。6)實(shí)現(xiàn)靜音和音量的控制。.2 系統(tǒng)的開發(fā)方法系統(tǒng)的開發(fā)方法結(jié)構(gòu)化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開發(fā)方法,其基本思想是把整個(gè)系統(tǒng)開發(fā)過(guò)程分成若干個(gè)階段,每個(gè)階段進(jìn)行若干活動(dòng),每項(xiàng)活動(dòng)應(yīng)用一系列標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成一個(gè)或多個(gè)任務(wù),形成符合給定規(guī)范的產(chǎn)品。采用結(jié)構(gòu)化生命周
25、期法開發(fā)管理信息系統(tǒng)時(shí),應(yīng)遵循的主要原則:(1) 用戶參與的原則(2) “先邏輯后物理”的原則(3) “自頂向下”的原則(4) 工作成果描述(主要指文檔)標(biāo)準(zhǔn)化的原則其具體開發(fā)步驟可分為以下四步:(1) 系統(tǒng)規(guī)劃(2) 系統(tǒng)開發(fā)1.系統(tǒng)分析1)系統(tǒng)初步調(diào)查2)系統(tǒng)可行性研究3)現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查4)新系統(tǒng)邏輯方案的提出2. 系統(tǒng)設(shè)計(jì)1) 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)2) 系統(tǒng)總體功能設(shè)計(jì)3) 系統(tǒng)總體物理結(jié)構(gòu)設(shè)計(jì)4) 系統(tǒng)詳細(xì)設(shè)計(jì)5) 數(shù)據(jù)庫(kù)設(shè)計(jì)6) 代碼設(shè)計(jì)7) 輸入輸出設(shè)計(jì)3. 系統(tǒng)實(shí)施1) 程序設(shè)計(jì)2) 系統(tǒng)測(cè)試(3) 系統(tǒng)的運(yùn)行及維護(hù)(4) 系統(tǒng)評(píng)價(jià) 快速原型法是 80 年代發(fā)展起來(lái)的,旨在縮短開
26、發(fā)周期,提高開發(fā)效率和用戶對(duì)系統(tǒng)的滿意程度。其基本思想是在系統(tǒng)開發(fā)的初期,盡快構(gòu)造出系統(tǒng)的原型,使用戶能及早地運(yùn)行這個(gè)系統(tǒng)原型,通過(guò)使用它、熟悉它,受到啟發(fā)并取得經(jīng)驗(yàn),然后對(duì)系統(tǒng)的目標(biāo)和功能提出更精確、具體的要求,研制人員據(jù)此逐漸修改和完善原型,使它滿足用戶的需求,最后完成系統(tǒng)的開發(fā)。該方法大大提高了系統(tǒng)開發(fā)效率,彌補(bǔ)了結(jié)構(gòu)化生命周期法開發(fā)時(shí)間長(zhǎng)的缺陷。通常采用原型法需以下四個(gè)階段:(1) 明確用戶的基本要求(2) 研制系統(tǒng)的原型(3) 使用、評(píng)價(jià)系統(tǒng)原型(4) 修改和完善原型.3 系統(tǒng)的開發(fā)平臺(tái)系統(tǒng)的開發(fā)平臺(tái)qt 是跨平臺(tái)的應(yīng)用程序和 ui 框架。它包括跨平臺(tái)類庫(kù)、集成開發(fā)工
27、具和跨平臺(tái) ide。使用 qt 您只需一次性開發(fā)應(yīng)用程序,無(wú)須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統(tǒng)部署這些應(yīng)用程序。qt 是諾基亞開發(fā)的一個(gè)跨平臺(tái)的 c+圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功能。qt 是完全面向?qū)ο蟮?,很容易擴(kuò)展,并且允許真正地組件編程。自從 1996 年早些時(shí)候,qt進(jìn)入商業(yè)領(lǐng)域,它已經(jīng)成為全世界范圍內(nèi)數(shù)千種成功的應(yīng)用程序的基礎(chǔ)。qt 也是流行的 linux 桌面環(huán)境 kde 的基礎(chǔ)?;旧?,qt 同 window 上的motif,openwin,gtk 等圖形界面庫(kù)和 windows 平臺(tái)上的mfc,owl,vcl,
28、atl 是同類型的東西,但 qt 具有優(yōu)良的跨平臺(tái)特性、面向?qū)ο?、豐富的 api、大量的開發(fā)文檔等優(yōu)點(diǎn)。2 2 系統(tǒng)系統(tǒng)的功能分析的功能分析基于音樂(lè)播放器所要實(shí)現(xiàn)的內(nèi)容,我們列出用戶操作的模塊,其中每個(gè)模塊對(duì)應(yīng)一個(gè)功能。加入文件加入目錄播放列表歌曲控制靜音設(shè)置音量設(shè)置顯示列表圖 2.1 uml 用例圖確定了系統(tǒng)的功能。本系統(tǒng)需要完成的功能如下:1)向系統(tǒng)中添加文件或目錄。2)將添加的 mp3 文件顯示到歌曲列表中。3)創(chuàng)建、打開、保存和關(guān)閉播放列表。4)歌曲控制:包括打開/播放、暫停、停止5)歌曲控制:上一首、下一首、循環(huán)、隨機(jī)播放。6)靜音設(shè)置。7)音量設(shè)置。8)顯示歌曲的播放進(jìn)度、歌曲名和
29、歌曲的長(zhǎng)度。3 3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)3.1系統(tǒng)概要設(shè)計(jì)系統(tǒng)概要設(shè)計(jì)(1)一個(gè)音樂(lè)軟件,要有列表、播放、暫停、停止、音量設(shè)置等基本功能,畫出流程圖,然后為這些組件建立一個(gè)目錄框架,把開發(fā)過(guò)程中創(chuàng)建的文件和需要用到的文件都保存到這個(gè)目錄中,這時(shí)我們需要?jiǎng)?chuàng)建一個(gè)文件夾,命名為mplayer,其中存放程序所需的素材,這樣文件結(jié)構(gòu)清晰,以便于組織和管理。(2)對(duì)于創(chuàng)建的一個(gè)新的 qt 應(yīng)用程序來(lái)說(shuō),qt 使用一個(gè) project workspace 來(lái)存儲(chǔ)該項(xiàng)目所需的所有文件,其中 project workspace 就是一個(gè)文件夾,與項(xiàng)目相關(guān)的文件存儲(chǔ)在該文件夾下.而一個(gè)項(xiàng)目又由一定數(shù)量的文件組成,如
30、果要生成一個(gè)可執(zhí)行程序,文件必須包括 cpp 文件和頭文件,而這些文件通常都存儲(chǔ)在同一工作區(qū)文件夾中.我們?cè)?new 選擇一個(gè)項(xiàng)目類型,創(chuàng)建一個(gè)新的 gui application 首先從菜單單欄中選擇 file 項(xiàng)打開如下圖所示圖 3.1 file 子菜單圖 3.2 new 對(duì)話框在 3.2 所示的 new 對(duì)話框中選 c+,選擇子項(xiàng) gui application 項(xiàng)目類型(3)當(dāng)開始一個(gè)新項(xiàng)目里首先想好三項(xiàng)內(nèi)容.第一項(xiàng)是項(xiàng)目類型是什么.第二項(xiàng)是項(xiàng)目名稱是什么.第三項(xiàng)是項(xiàng)目是否需要 form file.圖 3.3 項(xiàng)目是否需要 form file(需要的話,form file 打上勾)圖
31、3.3 含一個(gè)活動(dòng)工作區(qū)的 ide 窗口(4)設(shè)計(jì)用戶操作界面:界面直接表現(xiàn)一個(gè)應(yīng)用程序的功能。qt 提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功能.用戶界面主要包括對(duì)話框,工具欄和菜單,它們可以將應(yīng)用程序的所有功能與界面中的控件或菜單命令聯(lián)系起來(lái)。(5)測(cè)試與調(diào)試:這是開發(fā)人員在開發(fā)工作過(guò)程中經(jīng)常要做的事。其目的就是要盡早發(fā)現(xiàn)源程序中可能存在的錯(cuò)誤,并加以解決。隨著開發(fā)工作的深入,不斷地進(jìn)行軟件測(cè)試和調(diào)試,可以避免給后續(xù)工作帶來(lái)更大的麻煩。實(shí)現(xiàn)一個(gè)新的功能的時(shí)候,最好檢查一下功能是不是和所預(yù)定的功能一樣,只有調(diào)試過(guò)后并且不存在錯(cuò)誤后才允許付諸使用。3.2系統(tǒng)功能模塊設(shè)計(jì)系統(tǒng)功能模
32、塊設(shè)計(jì)在系統(tǒng)功能分析的基礎(chǔ)上,生成如圖 3.4 所示的系統(tǒng)功能模塊圖。mplayer加入目錄加入文件播放列表歌曲控制靜音設(shè)置音量設(shè)置歌曲列表圖 3.4 系統(tǒng)功能模塊圖.1 加入文件加入文件音樂(lè)的潮流步伐是快速的,我們常常需要向音樂(lè)播放器中添加時(shí)下最新的歌曲,以便能夠及時(shí)欣賞。此功能模塊能夠選擇電腦中或者從網(wǎng)絡(luò)上已下載的最新的歌曲,將之加入播放器的播放列表,同時(shí)更新播放列表。然后,就能開始欣賞最新的音樂(lè)了。.2 加入目錄加入目錄我們可能將許多歌曲放在電腦中一個(gè)目錄下面,如果要一首一首的向播放器中添加歌曲,顯然是很麻煩的。此功能模塊實(shí)現(xiàn)加入一個(gè)目錄下面所有需要進(jìn)行播
33、放的歌曲,同時(shí)更新播放器播放列表。.3 歌曲列表歌曲列表我們聽歌曲時(shí),有時(shí)候想知道歌曲的相關(guān)信息,播放器的歌曲列表實(shí)現(xiàn)了此功能。歌曲列表,此功能模塊實(shí)現(xiàn)通過(guò)一個(gè)對(duì)話框顯示歌曲的相關(guān)信息并可以進(jìn)行編輯,保存,刪除。.4 歌曲控制歌曲控制我們聽音樂(lè)時(shí),不免需要對(duì)歌曲進(jìn)行,聽到一首好聽的歌曲,可以讓它循環(huán)播放,不喜歡聽,可以切換下一首。歌曲控制,此功能模塊實(shí)現(xiàn)對(duì)歌曲進(jìn)行打開/播放、暫停、停止、上一首、下一首、循環(huán)播放等控制。.5 音量設(shè)置音量設(shè)置欣賞音樂(lè)時(shí),不同的時(shí)間,不同的歌曲,不同的氣氛,都對(duì)音量的要求是不同的。音量設(shè)置,就可以對(duì)當(dāng)前正在播放的歌曲
34、調(diào)節(jié)播放音量的大小,方便快捷的享受音樂(lè)帶來(lái)的感動(dòng)。.6 靜音設(shè)置靜音設(shè)置當(dāng)聽音樂(lè)時(shí),有時(shí)有緊急事情需要處理,比如打電話,需要一個(gè)相對(duì)安靜的當(dāng)前環(huán)境。當(dāng)然,你可以將音量調(diào)到最小,不過(guò),更便捷的方法是直接就行對(duì)當(dāng)前播放歌曲的靜音。靜音設(shè)置,此功能模塊實(shí)現(xiàn)對(duì)當(dāng)前正在播放的歌曲直接進(jìn)行靜音。.7 播放列表播放列表每次聽音樂(lè)如果都要從電腦目錄中選擇需要播放的音樂(lè)是很麻煩的,播放列表可以幫助解決這個(gè)問(wèn)題。播放列表。此功能模塊實(shí)現(xiàn)對(duì)歌曲列表的新建/打開/關(guān)閉/保存。3.3系統(tǒng)運(yùn)行環(huán)境系統(tǒng)運(yùn)行環(huán)境硬件平臺(tái):處理器 amd 雙核2gb 內(nèi)存500gb 硬盤軟件平臺(tái):操作系統(tǒng):wi
35、ndows xp開發(fā)工具:qt4 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)的編譯與運(yùn)行系統(tǒng)的編譯與運(yùn)行資源文件主要包括 cpp 源文件,頭文件以及.pro 文件。其中.pro 文件為工程文件,編譯工具也是通過(guò).pro 文件來(lái)得到所需要的源文件和頭文件。當(dāng)系統(tǒng)成功運(yùn)行一次之后,在 build-desktopdebug 文件下會(huì)生產(chǎn)一個(gè)和工程名同名的可以執(zhí)行文件,當(dāng)然運(yùn)行此.exe 文件還需要相應(yīng)的.dll 文件。4.2系統(tǒng)運(yùn)行系統(tǒng)運(yùn)行這款音樂(lè)播放器啟動(dòng)運(yùn)行后,程序主界面如圖 4.1 所示:圖 4.1 音樂(lè)播放器界面4.3系統(tǒng)功能界面系統(tǒng)功能界面.1 加入文件功能實(shí)現(xiàn)加入文件功能實(shí)現(xiàn)功能描述:選
36、擇電腦中或者從網(wǎng)絡(luò)上已下載的最新的歌曲,將之加入播放器的播放列表,同時(shí)更新播放列表。圖 4.2 “加入文件”處理流程圖流程描述:用戶運(yùn)行音樂(lè)播放器軟件,單擊播放器的設(shè)定歌曲按鈕,選擇加入文件。運(yùn)行單擊文件單擊加入文件彈出打開文件對(duì)話框選中文件,單擊打開完成添加圖 4.3 “加入文件”對(duì)話框此時(shí)播放器調(diào)用 addfiles()函數(shù)打開加入音樂(lè)對(duì)話框。從彈出的對(duì)話框中選擇最后需要打開的文件,點(diǎn)擊確定,從而實(shí)現(xiàn)添加文件的功能。代碼片段:圖 4.4 加入文件功能代碼.2 加入目錄加入目錄功能描述:實(shí)現(xiàn)加入一個(gè)目錄下面所有需要進(jìn)行播放的歌曲,同時(shí)更新播放器播放列表。處理流程:運(yùn)行單擊文件
37、單擊加入目錄彈出打開目錄對(duì)話框選中目錄,單擊打開完成添加圖 4.5 “加入目錄”流程圖流程描述:用戶運(yùn)行音樂(lè)播放器軟件,單擊播放器的設(shè)定歌曲按鈕,選擇加入目錄,此時(shí)播放器調(diào)用 adddirectory()函數(shù),打開加入目錄對(duì)話框:圖 4.6 “加入目錄”對(duì)話框adddirectory()函數(shù)代碼片段圖 4.7 加入目錄功能代碼.3 打開歌曲列表打開歌曲列表功能描述:此功能模塊實(shí)現(xiàn)通過(guò)一個(gè)對(duì)話框打開.mpl 播放列表。處理流程:運(yùn)行單擊文件單擊打開列表選擇所需.mpl 文件單擊打開播放器顯示列表更新完成圖 4.8 “歌曲列表”功能流程圖流程描述:運(yùn)行音樂(lè)播放器軟件,單擊打開列表功
38、能按鈕,彈出文件信息對(duì)話框。圖 4.9 文件信息對(duì)話框openplaylist()代碼片段圖 4.10 打開列表功能代碼.4 歌曲控制功能實(shí)現(xiàn)歌曲控制功能實(shí)現(xiàn)功能描述:此功能模塊實(shí)現(xiàn)對(duì)歌曲進(jìn)行打開/播放、暫停、停止、上一首、下一首、順序播放、循環(huán)播放和隨機(jī)播放等控制。處理流程:圖 4.11“歌曲控制”功能流程圖運(yùn)行單擊相應(yīng)的功能按鈕播放器完成相應(yīng)功能完成流程描述:圖 4.12 控制功能按鈕圖 4.13 模式功能演示圖部分代碼片段圖 4.14 模式功能代碼.5 音量控制功能實(shí)現(xiàn)音量控制功能實(shí)現(xiàn)功能描述:可以對(duì)當(dāng)前正在播放的歌曲調(diào)節(jié)播放音量的大小,方便快捷的享受音樂(lè)
39、帶來(lái)的感動(dòng)。處理流程: 圖 4.15 “音量控制”功能流程圖流程描述:運(yùn)行音樂(lè)播放器軟件,單擊播放器右邊音量控制功能按鈕,左右拉動(dòng)滑塊進(jìn)行音量調(diào)節(jié),如圖所示。圖 4.16 音量控制功能演示圖.6 靜音設(shè)置功能實(shí)現(xiàn)靜音設(shè)置功能實(shí)現(xiàn)功能描述:此功能模塊實(shí)現(xiàn)對(duì)當(dāng)前正在播放的歌曲直接進(jìn)行靜音。處理流程:運(yùn)行單擊音量控制按鈕左右滑動(dòng)調(diào)節(jié)音量完成運(yùn)行單擊靜音按鈕進(jìn)行靜音/取消靜音完成圖 4.17 “靜音設(shè)置”功能流程圖流程描述:運(yùn)行音樂(lè)播放軟件,單擊播放器中間的靜音按鈕,具體如圖所示。圖 4.18 靜音控制功能演示圖.7 播放進(jìn)度條功能實(shí)現(xiàn)播放進(jìn)度條功能實(shí)現(xiàn)功能描述:定點(diǎn)播放音樂(lè)文件處理流程:圖 4.19 定點(diǎn)播放功能流程圖流程描述:運(yùn)行音樂(lè)播放器軟件,單擊播放器頂上進(jìn)度條按鈕,左右拖動(dòng)進(jìn)度條按鈕實(shí)現(xiàn)定點(diǎn)播放,如圖所示。圖 4.20 進(jìn)度條功能演示圖 運(yùn)行單擊進(jìn)度條按鈕左右拖動(dòng)進(jìn)度條按鈕可以實(shí)現(xiàn)定點(diǎn)播放完成5 總總 結(jié)結(jié) 通過(guò)三個(gè)月的努力,在老師和同學(xué)的幫助下順利完成基于 qt 的音頻管理系統(tǒng)。這個(gè)總結(jié),既為大學(xué)劃上一個(gè)完美的句號(hào),也為將來(lái)的人生做了一個(gè)鋪墊。我選的題目是關(guān)于音樂(lè)播放器,之所以選這個(gè)為核心,是因?yàn)樵诖笠坏臅r(shí)候我就想做一個(gè)音樂(lè)播放器,現(xiàn)在也算是實(shí)現(xiàn)了一個(gè)小夢(mèng)想。剛剛開始的時(shí)候,題目好定,但是內(nèi)容卻一再讓我陷入迷茫,不知如何下手,說(shuō)起來(lái)容易,做
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版辦公家具展會(huì)租賃與銷售合作合同3篇
- 二零二五年度武漢東湖風(fēng)景區(qū)旅游開發(fā)合同3篇
- 二零二五年度藝術(shù)品共同創(chuàng)作與展覽合同2篇
- 二零二五版房屋租賃合同免責(zé)及維修保障3篇
- 二零二五版燈光照明工程設(shè)計(jì)咨詢合同2篇
- 二零二五版班組分包消防設(shè)施分包服務(wù)合同樣本3篇
- 二零二五版新媒體行業(yè)勞動(dòng)合同制度及知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議2篇
- 二零二五年空調(diào)銷售與綠色消費(fèi)倡導(dǎo)合同3篇
- 二零二五年度鋼管模板租賃環(huán)保要求及價(jià)格評(píng)估合同3篇
- 二零二五版網(wǎng)絡(luò)安全威脅情報(bào)共享與預(yù)警服務(wù)合同范本3篇
- 2024年安徽省合肥市瑤海區(qū)中考語(yǔ)文一模試卷
- 單位車輛變更名稱的委托書
- 粉塵外協(xié)單位清理協(xié)議書
- 2023年12月首都醫(yī)科大學(xué)附屬北京中醫(yī)醫(yī)院面向應(yīng)屆生招考聘用筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 茶室經(jīng)營(yíng)方案
- 軍隊(duì)文職崗位述職報(bào)告
- 小學(xué)數(shù)學(xué)六年級(jí)解方程練習(xí)300題及答案
- 電抗器噪聲控制與減振技術(shù)
- 中醫(yī)健康宣教手冊(cè)
- 2024年江蘇揚(yáng)州市高郵市國(guó)有企業(yè)招聘筆試參考題庫(kù)附帶答案詳解
- 消費(fèi)醫(yī)療行業(yè)報(bào)告
評(píng)論
0/150
提交評(píng)論