畢業(yè)設(shè)計(論文)基于Qt音頻管理系統(tǒng)_第1頁
畢業(yè)設(shè)計(論文)基于Qt音頻管理系統(tǒng)_第2頁
畢業(yè)設(shè)計(論文)基于Qt音頻管理系統(tǒng)_第3頁
畢業(yè)設(shè)計(論文)基于Qt音頻管理系統(tǒng)_第4頁
畢業(yè)設(shè)計(論文)基于Qt音頻管理系統(tǒng)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于基于 qtqt 音頻管理系統(tǒng)音頻管理系統(tǒng) 指導(dǎo)老師:指導(dǎo)老師: 學(xué)生姓名:學(xué)生姓名: 日期:日期: 摘摘 要要 qt是諾基亞開發(fā)的一個跨平臺的c+圖形用戶界面應(yīng)用程序框架。它提供給 應(yīng)用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能。qt是完全面向?qū)?象的,很容易擴(kuò)展,并且允許真正地組件編程。 本文介紹了從分析到開發(fā)到系統(tǒng)的設(shè)計與測試的整個音樂播放器的生成過 程,包括了4個章節(jié),第一章為緒論,簡單介紹了音樂和音頻編碼;第二章為系 統(tǒng)功能,用一張用例圖表達(dá)了系統(tǒng)所需的基本功能;第三章為系統(tǒng)設(shè)計,以第 二章為基礎(chǔ)詳細(xì)具體的羅列出系統(tǒng)的每個功能;第四章為系統(tǒng)實現(xiàn),包括了主 界面,每個功能界面的

2、截圖與代碼片段。 系統(tǒng)開發(fā)平臺的介紹,具體介紹了qt主要界面和使用方法,其中包括常用 工具具體位置與使用方法和工作區(qū)的生成,項目的創(chuàng)建、項目中文件的添加刪 除、項目的編譯、項目的測試等。后邊幾部分介紹了系統(tǒng)規(guī)劃與分析,應(yīng)用程 序主界面,代碼的編寫與功能的實現(xiàn),系統(tǒng)的編譯與運行,最終實現(xiàn)了音樂播 放器的功能,能對歌曲音樂進(jìn)行播放和控制。 關(guān)鍵詞:關(guān)鍵詞:qt、播放器、組件編程 abstract the nokia qt is the development of a cross-platform c + + graphical user interface application framewo

3、rk. 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 testi

4、ng 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

5、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 ma

6、in 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 applic

7、ation 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 目目 錄錄 摘摘 要要.i i abstractabstract.iiii 1 1 緒論緒論.1 1 1.1 音

8、樂簡介 .1 1.2 選題的背景及目的 .1 1.2.1 音頻編碼基本概念.1 1.2.2 各種音頻編碼介紹.3 1.2.3 研究的意義.4 1.3 系統(tǒng)主要實現(xiàn)內(nèi)容與實現(xiàn)方式 .5 1.3.1 系統(tǒng)主要實現(xiàn)內(nèi)容.5 1.3.2 系統(tǒng)的開發(fā)方法.5 1.3.3 系統(tǒng)的開發(fā)平臺 .6 2 2 系統(tǒng)的功能分析系統(tǒng)的功能分析.7 7 3 3 系統(tǒng)設(shè)計系統(tǒng)設(shè)計 .8 8 3.1 系統(tǒng)概要設(shè)計 .8 3.2 系統(tǒng)功能模塊設(shè)計 .10 3.2.1 加入文件 .11 3.2.2 加入目錄 .11 3.2.3 歌曲列表 .11 3.2.4 歌曲控制 .12 3.2.5 音量設(shè)置 .12 3.2.6 靜音設(shè)置

9、.12 3.2.7 播放列表 .12 3.3 系統(tǒng)運行環(huán)境 .13 4 4 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) .1313 4.1 系統(tǒng)的編譯與運行 .13 4.2 系統(tǒng)運行 .13 4.3 系統(tǒng)功能界面 .14 4.3.1 加入文件功能實現(xiàn) .14 4.3.2 加入目錄 .17 4.3.3 打開歌曲列表 .19 4.3.4 歌曲控制功能實現(xiàn) .21 4.3.5 音量控制功能實現(xiàn) .23 4.3.6 靜音設(shè)置功能實現(xiàn) .23 4.3.7 播放進(jìn)度條功能實現(xiàn) .24 5 5 總結(jié)總結(jié) .2525 致致謝謝.2626 參考文獻(xiàn)參考文獻(xiàn).26267 7 1 緒緒 論論 1.1 音樂簡介音樂簡介 音樂一直以來就是人們?nèi)?/p>

10、常休閑的必要調(diào)劑品,極大的豐富人們的精神生 活。物體規(guī)則震動發(fā)出的聲音稱為樂音,由有組織的樂音來表達(dá)人們思想感情、 反映現(xiàn)實生活的一種藝術(shù)就是音樂。分為聲樂和器樂兩大部門。在所有的藝術(shù) 類型中,比較而言,音樂是最抽象的藝術(shù)。另有電影以此為名,以及音樂療法: 用音樂來減輕或消除患者的病痛。 音樂是這樣播放出來的,目前我們所聽的音樂大部分都是 mp3 格式的音 頻文件,當(dāng)然還有其它的格式,cd 格式、wave(*.wav) 、 aiff、au、mp3、midi、wma、realaudio、vqf、oggvorbis、aac、ape ,即當(dāng)播放多媒體文件時,計算機(jī)將指令發(fā)給聲卡,聲卡按照指令將媒體播

11、放 信息重新合成起來。所以,音樂的播放效果取決于聲卡的質(zhì)量。fm 合成芯片, 低檔聲卡一般采用 fm 合成聲音,以降低成本,fm 合成芯片的作用就是用來 產(chǎn)生合成聲音。波形合成表,在波表 rom 中存放有實際樂音的聲音樣本,供 播放 midi 使用,一般的中高檔聲卡都采用波表方式,可以獲得十分逼真的使 用效果。 壓縮音頻文件需要編碼,播放音頻文件需要解碼。編碼,解碼的不同,導(dǎo) 致音頻在經(jīng)過處理后得到的音質(zhì)也不盡相同,而好的音質(zhì)能夠更好的滿足人們 的聽覺享受。所以,對各種音頻文件進(jìn)行解碼的技術(shù)研究就很有必要了。 本文就是關(guān)于對音頻解碼技術(shù)相關(guān)研究,并設(shè)計出一款屬于自己的音樂播 放器軟件。 1.2

12、 選題的背景及目的選題的背景及目的 .1 音頻編碼基本概念音頻編碼基本概念 1.什么是采樣率和采樣大小。 聲音其實是一種能量波,因此也有頻率和振幅的特征,頻率對應(yīng)于時 間軸線,振幅對應(yīng)于電平軸線。波是無限光滑的,弦線可以看成由無數(shù)點組成, 由于存儲空間是相對有限的,數(shù)字編碼過程中,必須對弦線的點進(jìn)行采樣。采 樣的過程就是抽取某點的頻率值,很顯然,在一秒中內(nèi)抽取的點越多,獲取得 頻率信息更豐富,為了復(fù)原波形,一次振動中,必須有 2 個點的采樣,人耳能 夠感覺到的最高頻率為 20khz,因此要滿足人耳的聽覺要求,則需要至少每秒 進(jìn)行 40k 次采樣,用 40khz 表達(dá),這個 40

13、khz 就是采樣率。采樣率和采樣大小 的值越大,記錄的波形更接近原始信號。 2.有損和無損 根據(jù)采樣率和采樣大小可以得知,相對自然界的信號,音頻編碼最多 只能做到無限接近,至少目前的技術(shù)只能這樣了,相對自然界的信號,任何數(shù) 字音頻編碼方案都是有損的,因為無法完全還原。在計算機(jī)應(yīng)用中,能夠達(dá)到 最高保真水平的就是 pcm 編碼,被廣泛用于素材保存及音樂欣賞,cd、dvd 以及我們常見的 wav 文件中均有應(yīng)用。因此,pcm 約定俗成了無損編碼,因 為 pcm 代表了數(shù)字音頻中最佳的保真水準(zhǔn),并不意味著 pcm 就能夠確保信號 絕對保真,pcm 也只能做到最大程度的無限接近。我們而習(xí)慣性的把 mp

14、3 列 入有損音頻編碼范疇,是相對 pcm 編碼的。 3.音頻壓縮技術(shù) pcm 音頻流的碼率,采樣率值采樣大小值聲道數(shù) bps。一個采樣 率為 44.1khz,采樣大小為 16bit,雙聲道的 pcm 編碼的 wav 文件,它的數(shù) 據(jù)速率則為 44.1k162 =1411.2 kbps。我們常說 128k 的 mp3,對應(yīng)的 wav 的參數(shù),就是這個 1411.2 kbps,這個參數(shù)也被稱為數(shù)據(jù)帶寬,它和 adsl 中的帶寬是一個概念。將碼率除以 8,就可以得到這個 wav 的數(shù)據(jù)速率, 即 176.4kb/s。這表示存儲一秒鐘采樣率為 44.1khz,采樣大小為 16bit,雙聲 道的 pc

15、m 編碼的音頻信號,需要 176.4kb 的空間,1 分鐘則約為 10.34m,這 對大部分用戶是不可接受的,尤其是喜歡在電腦上聽音樂的朋友,要降低磁盤 占用,只有 2 種方法,降低采樣指標(biāo)或者壓縮。降低指標(biāo)是不可取的,各種音 頻壓縮編碼所達(dá)到的音質(zhì)和壓縮比都不一樣。 4.頻率與采樣率的關(guān)系 采樣率表示了每秒對原始信號采樣的次數(shù),我們常見到的音頻文件采 樣率多為 44.1khz,假設(shè)我們有 2 段正弦波信號,分別為 20hz 和 20khz,長 度均為一秒鐘,以對應(yīng)我們能聽到的最低頻和最高頻,分別對這兩段信號進(jìn)行 40khz 的采樣,結(jié)果是:20hz 的信號每次振動被采樣了 40k/20=20

16、00 次,而 20k 的信號每次振動只有 2 次采樣。顯然,在相同的采樣率下,記錄低頻的信 息遠(yuǎn)比高頻的詳細(xì)。這也是 cd 數(shù)碼聲不夠真實的原因,cd 的 44.1khz 采樣 也無法保證高頻信號被較好記錄。要較好的記錄高頻信號,看來需要更高的采 樣率,在捕捉 cd 音軌的時候使用 48khz 的采樣率,這是不可取的!這其實對 音質(zhì)沒有任何好處,對抓軌軟件來說,保持和 cd 提供的 44.1khz 一樣的采樣 率才是最佳音質(zhì)的保證之一,而不是去提高它。較高的采樣率只有相對模擬信 號的時候才有用,如果被采樣的信號是數(shù)字的,不要去嘗試提高采樣率。 5.流特征 隨著網(wǎng)絡(luò)的發(fā)展,人們對在線收聽音樂提出

17、了要求,因此也要求音頻 文件能夠一邊讀一邊播放,而不需要把這個文件全部讀出后然后回放,這樣就 可以做到不用下載就可以實現(xiàn)收聽了。也可以做到一邊編碼一邊播放,正是這 種特征,可以實現(xiàn)在線的直播,架設(shè)自己的數(shù)字廣播電臺成為了現(xiàn)實。 .2 各種音頻編碼介紹各種音頻編碼介紹 1.pcm 編碼 pcm 脈沖編碼調(diào)制是 pulse code modulation 的縮寫。我們不需要關(guān)心 pcm 最終編碼采用的是什么計算方式,我們只需要知道 pcm 編碼的音頻流的 優(yōu)點和缺點就可以了。pcm 編碼的最大的優(yōu)點就是音質(zhì)好,最大的缺點就是體 積大。我們常見的 audio cd 就采用了 pcm

18、編碼,一張光盤的容量只能容納 72 分鐘的音樂信息。 2.wav 這是一種古老的音頻文件格式,由微軟開發(fā)。wav 是一種文件格式, 符合 riff (resource interchange file format) 規(guī)范。所有的 wav 都有一個文件 頭,這個文件頭包含了音頻流的編碼參數(shù)。wav 對音頻流的編碼沒有硬性規(guī) 定,除了 pcm 之外,還有幾乎所有支持 acm 規(guī)范的編碼都可以為 wav 的音 頻流進(jìn)行編碼。wav 可以使用多種音頻編碼來壓縮其音頻流,不過我們常見 的都是音頻流被 pcm 編碼處理的 wav,但這不表示 wav 只能使用 pcm 編 碼,mp3 編碼同樣也可以運用在

19、 wav 中,只要安裝好了相應(yīng)的 decode,就可 以欣賞這些 wav 了。在 windows 平臺下,基于 pcm 編碼的 wav 是被支持 得最好的音頻格式,所有音頻軟件都能完美支持,由于本身可以達(dá)到較高的音 質(zhì)的要求,因此,wav 也是音樂編輯創(chuàng)作的首選格式,適合保存音樂素材。 因此,基于 pcm 編碼的 wav 被作為了一種中介的格式,常常使用在其他編碼 的相互轉(zhuǎn)換之中,例如 mp3 轉(zhuǎn)換成 wma。 3.mp3 mp3 作為目前最為普及的音頻壓縮格式,為大家所大量接受,各種與 mp3 相關(guān)的軟件產(chǎn)品層出不窮,而且更多的硬件產(chǎn)品也開始支持 mp3,我們能 夠買到的 vcd/dvd 播

20、放機(jī)都很多都能夠支持 mp3,還有更多的便攜的 mp3 播放器等等,雖然幾大音樂商極其反感這種開放的格式,但也無法阻止這種音 頻壓縮的格式的生存與流傳。mp3 發(fā)展已經(jīng)有 10 個年頭了,他是 mpeg(mpeg:moving picture experts group) audio layer-3 的簡稱,是 mpeg1 的衍生編碼方案,1993 年由德國 fraunhofer iis 研究院和湯姆生公司合作發(fā)展 成功。mp3 可以做到 12:1 的驚人壓縮比并保持基本可聽的音質(zhì),在當(dāng)年硬盤天 價的日子里,mp3 迅速被用戶接受,隨著網(wǎng)絡(luò)的普及,mp3 被數(shù)以億計的用戶 接受。mp3 編碼技

21、術(shù)的發(fā)布之初其實是非常不完善的,由于缺乏對聲音和人耳 聽覺的研究,早期的 mp3 編碼器幾乎全是以粗暴方式來編碼,音質(zhì)破壞嚴(yán)重。 隨著新技術(shù)的不斷導(dǎo)入,mp3 編碼技術(shù)一次一次的被改良,其中有 2 次重大技 術(shù)上的改進(jìn)。 4.ogg 編碼 ogg vorbis 的音頻編碼,ogg 是一個龐大的多媒體開發(fā)計劃的項目名 稱,將涉及視頻音頻等方面的編碼開發(fā)。整個 ogg 項目計劃的目的就是向任 何人提供完全免費多媒體編碼方案。ogg 的信念就是: open,free,vorbis。這幾個個詞匯成為了 ogg 項目中音頻編碼的正式命名。 目前 vorbis 已經(jīng)開發(fā)成功,并且開發(fā)出了編碼器。ogg v

22、orbis 是高質(zhì)量的音頻 編碼方案,官方數(shù)據(jù)顯示:ogg vorbis 可以在相對較低的數(shù)據(jù)速率下實現(xiàn)比 mp3 更好的音質(zhì)。ogg vorbis 這種編碼也遠(yuǎn)比 90 年代開發(fā)成功的 mp3 先進(jìn), 她可以支持多個聲道,這意味著 ogg vorbis 在 sacd、dtscd、dvd audio 抓軌軟件的支持下,可以對所有的聲道進(jìn)行編碼,而不是 mp3 只能編碼 2 個聲 道。多聲道音樂的興起,給音樂欣賞帶來了革命性的變化,尤其在欣賞交響時, 會帶來更多臨場感。這場革命性的變化是 mp3 無法適應(yīng)的。和 mp3 一樣, ogg vorbis 是一種靈活開放的音頻編碼,能夠在編碼方案已經(jīng)固

23、定下來后還能 對音質(zhì)進(jìn)行明顯的調(diào)節(jié)和新算法的改良。因此,它的聲音質(zhì)量將會越來越好, 和 mp3 相似,ogg vorbis 更像一個音頻編碼框架,可以不斷導(dǎo)入新技術(shù)逐步完 善。和 mp3 一樣,ogg 也支持 vbr。 .3 研究的意義研究的意義 人類進(jìn)入信息化時代以來,網(wǎng)絡(luò)的長足發(fā)展和廣泛的普及,使得人們能夠 更快,更方便的欣賞音樂。在個人 pc 上,一款音樂播放器在手,聽盡世間音 樂。而一款好的音樂播放器,能幫助人們更好的去欣賞音樂?,F(xiàn)今網(wǎng)絡(luò)上有許 多優(yōu)秀的音樂播放器,如千千靜聽等,他們內(nèi)置了相當(dāng)多的音頻解碼器,能夠 播放各種格式的音頻文件。 能編寫屬于自己的一款音樂播放器

24、無疑是一件有趣的事情,但首先得了解 音樂播放器是怎么實現(xiàn)對各種音頻格式文件進(jìn)行播放的,如何實現(xiàn)播放器上許 多方便快捷的功能。帶著這個目的,我選擇了此課題。 而對音頻解碼進(jìn)行技術(shù)研究有助于了解其內(nèi)在的原理,能夠幫助我們更好 的設(shè)計出一款屬于自己的音樂播放器。 1.3 系統(tǒng)主要實現(xiàn)內(nèi)容與實現(xiàn)方式系統(tǒng)主要實現(xiàn)內(nèi)容與實現(xiàn)方式 .1 系統(tǒng)主要實現(xiàn)內(nèi)容系統(tǒng)主要實現(xiàn)內(nèi)容 通過對音頻編碼技術(shù)的相關(guān)研究,了解音頻編碼的原理以及過程,從而設(shè) 計出一款能夠播放多音頻格式的音樂播放器。 這款音樂播放器實現(xiàn)的相關(guān)內(nèi)容如下: 1)美觀、時尚的操作界面。 2)顯示正在播放的歌曲名。 3)歌曲控制方式要多樣化

25、。 4)顯示歌曲的播放進(jìn)度。 5)mp3 文件的添加方式多樣化,并且要將其添加到歌曲列表中。 6)實現(xiàn)靜音和音量的控制。 .2 系統(tǒng)的開發(fā)方法系統(tǒng)的開發(fā)方法 結(jié)構(gòu)化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開發(fā)方法,其基本思想是把 整個系統(tǒng)開發(fā)過程分成若干個階段,每個階段進(jìn)行若干活動,每項活動應(yīng)用一 系列標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成一個或多個任務(wù),形成符合給定規(guī)范的產(chǎn) 品。 采用結(jié)構(gòu)化生命周期法開發(fā)管理信息系統(tǒng)時,應(yīng)遵循的主要原則: (1) 用戶參與的原則 (2) “先邏輯后物理”的原則 (3) “自頂向下”的原則 (4) 工作成果描述(主要指文檔)標(biāo)準(zhǔn)化的原則 其具體開發(fā)步驟可分為以

26、下四步: (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è)計 1) 系統(tǒng)總體結(jié)構(gòu)設(shè)計 2) 系統(tǒng)總體功能設(shè)計 3) 系統(tǒng)總體物理結(jié)構(gòu)設(shè)計 4) 系統(tǒng)詳細(xì)設(shè)計 5) 數(shù)據(jù)庫設(shè)計 6) 代碼設(shè)計 7) 輸入輸出設(shè)計 3. 系統(tǒng)實施 1) 程序設(shè)計 2) 系統(tǒng)測試 (3) 系統(tǒng)的運行及維護(hù) (4) 系統(tǒng)評價 快速原型法是 80 年代發(fā)展起來的,旨在縮短開發(fā)周期,提高開發(fā)效率和 用戶對系統(tǒng)的滿意程度。其基本思想是在系統(tǒng)開發(fā)的初期,盡快構(gòu)造出系統(tǒng)的 原型,使用戶能及早地運行這個系統(tǒng)原型,通過使用它、熟悉

27、它,受到啟發(fā)并 取得經(jīng)驗,然后對系統(tǒng)的目標(biāo)和功能提出更精確、具體的要求,研制人員據(jù)此 逐漸修改和完善原型,使它滿足用戶的需求,最后完成系統(tǒng)的開發(fā)。該方法大 大提高了系統(tǒng)開發(fā)效率,彌補(bǔ)了結(jié)構(gòu)化生命周期法開發(fā)時間長的缺陷。 通常采用原型法需以下四個階段: (1) 明確用戶的基本要求 (2) 研制系統(tǒng)的原型 (3) 使用、評價系統(tǒng)原型 (4) 修改和完善原型 .3 系統(tǒng)的開發(fā)平臺系統(tǒng)的開發(fā)平臺 qt 是跨平臺的應(yīng)用程序和 ui 框架。它包括跨平臺類庫、集成開發(fā)工具和 跨平臺 ide。使用 qt 您只需一次性開發(fā)應(yīng)用程序,無須重新編寫源代碼,便可 跨不同桌面和嵌入式操作系統(tǒng)部署這些應(yīng)用

28、程序。 qt 是諾基亞開發(fā)的一個跨平臺的 c+圖形用戶界面應(yīng)用程序框架。它提供 給應(yīng)用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能。qt 是完全面向 對象的,很容易擴(kuò)展,并且允許真正地組件編程。自從 1996 年早些時候,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 等圖形界面庫和 windows 平臺上的 mfc,owl,vcl,atl 是同類型的東西,但 qt 具有優(yōu)良的跨平臺特性、面 向?qū)ο?、豐富的 api、大量的開發(fā)文檔等優(yōu)點。

29、 2 2 系統(tǒng)系統(tǒng)的功能分析的功能分析 基于音樂播放器所要實現(xiàn)的內(nèi)容,我們列出用戶操作的模塊,其中每個模 塊對應(yīng)一個功能。 加入文件 加入目錄 播放列表 歌曲控制 靜音設(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)度、歌曲名和歌曲的長度。 3 3 系統(tǒng)設(shè)計系統(tǒng)設(shè)計 3.1系統(tǒng)概要設(shè)計系統(tǒng)概

30、要設(shè)計 (1)一個音樂軟件,要有列表、播放、暫停、停止、音量設(shè)置等基本功能, 畫出流程圖,然后為這些組件建立一個目錄框架,把開發(fā)過程中創(chuàng)建的文件和需 要用到的文件都保存到這個目錄中,這時我們需要創(chuàng)建一個文件夾,命名為 mplayer,其中存放程序所需的素材,這樣文件結(jié)構(gòu)清晰,以便于組織和管理。 (2)對于創(chuàng)建的一個新的 qt 應(yīng)用程序來說,qt 使用一個 project workspace 來 存儲該項目所需的所有文件,其中 project workspace 就是一個文件夾,與項目相關(guān) 的文件存儲在該文件夾下.而一個項目又由一定數(shù)量的文件組成,如果要生成一個 可執(zhí)行程序,文件必須包括 cpp

31、 文件和頭文件,而這些文件通常都存儲在同一工作 區(qū)文件夾中.我們在 new 選擇一個項目類型,創(chuàng)建一個新的 gui application 首先 從菜單單欄中選擇 file 項打開如下圖所示 圖 3.1 file 子菜單 圖 3.2 new 對話框 在 3.2 所示的 new 對話框中選 c+,選擇子項 gui application 項目類型 (3)當(dāng)開始一個新項目里首先想好三項內(nèi)容.第一項是項目類型是什么.第二 項是項目名稱是什么.第三項是項目是否需要 form file.圖 3.3 項目是否需要 form file(需要的話,form file 打上勾) 圖 3.3 含一個活動工作區(qū)的

32、ide 窗口 (4)設(shè)計用戶操作界面:界面直接表現(xiàn)一個應(yīng)用程序的功能。qt 提供給應(yīng)用 程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能.用戶界面主要包括對話 框,工具欄和菜單,它們可以將應(yīng)用程序的所有功能與界面中的控件或菜單命 令聯(lián)系起來。 (5)測試與調(diào)試:這是開發(fā)人員在開發(fā)工作過程中經(jīng)常要做的事。其目的就 是要盡早發(fā)現(xiàn)源程序中可能存在的錯誤,并加以解決。隨著開發(fā)工作的深入, 不斷地進(jìn)行軟件測試和調(diào)試,可以避免給后續(xù)工作帶來更大的麻煩。實現(xiàn)一個 新的功能的時候,最好檢查一下功能是不是和所預(yù)定的功能一樣,只有調(diào)試過 后并且不存在錯誤后才允許付諸使用。 3.2系統(tǒng)功能模塊設(shè)計系統(tǒng)功能模塊設(shè)計

33、在系統(tǒng)功能分析的基礎(chǔ)上,生成如圖 3.4 所示的系統(tǒng)功能模塊圖。 mplayer 加 入 目 錄 加 入 文 件 播 放 列 表 歌 曲 控 制 靜 音 設(shè) 置 音 量 設(shè) 置 歌 曲 列 表 圖 3.4 系統(tǒng)功能模塊圖 .1 加入文件加入文件 音樂的潮流步伐是快速的,我們常常需要向音樂播放器中添加時下最新的 歌曲,以便能夠及時欣賞。 此功能模塊能夠選擇電腦中或者從網(wǎng)絡(luò)上已下載的最新的歌曲,將之加入 播放器的播放列表,同時更新播放列表。然后,就能開始欣賞最新的音樂了。 .2 加入目錄加入目錄 我們可能將許多歌曲放在電腦中一個目錄下面,如果要一首一首的向播放 器中

34、添加歌曲,顯然是很麻煩的。 此功能模塊實現(xiàn)加入一個目錄下面所有需要進(jìn)行播放的歌曲,同時更新播 放器播放列表。 .3 歌曲列表歌曲列表 我們聽歌曲時,有時候想知道歌曲的相關(guān)信息,播放器的歌曲列表實現(xiàn)了 此功能。 歌曲列表,此功能模塊實現(xiàn)通過一個對話框顯示歌曲的相關(guān)信息并可以進(jìn) 行編輯,保存,刪除。 .4 歌曲控制歌曲控制 我們聽音樂時,不免需要對歌曲進(jìn)行,聽到一首好聽的歌曲,可以讓它循 環(huán)播放,不喜歡聽,可以切換下一首。 歌曲控制,此功能模塊實現(xiàn)對歌曲進(jìn)行打開/播放、暫停、停止、上一首、 下一首、循環(huán)播放等控制。 .5 音量設(shè)置音量設(shè)置 欣賞音樂時

35、,不同的時間,不同的歌曲,不同的氣氛,都對音量的要求是 不同的。 音量設(shè)置,就可以對當(dāng)前正在播放的歌曲調(diào)節(jié)播放音量的大小,方便快捷 的享受音樂帶來的感動。 .6 靜音設(shè)置靜音設(shè)置 當(dāng)聽音樂時,有時有緊急事情需要處理,比如打電話,需要一個相對安靜 的當(dāng)前環(huán)境。當(dāng)然,你可以將音量調(diào)到最小,不過,更便捷的方法是直接就行 對當(dāng)前播放歌曲的靜音。 靜音設(shè)置,此功能模塊實現(xiàn)對當(dāng)前正在播放的歌曲直接進(jìn)行靜音。 .7 播放列表播放列表 每次聽音樂如果都要從電腦目錄中選擇需要播放的音樂是很麻煩的,播放 列表可以幫助解決這個問題。 播放列表。此功能模塊實現(xiàn)對歌曲列表的新建/打開/關(guān)

36、閉/保存。 3.3系統(tǒng)運行環(huán)境系統(tǒng)運行環(huán)境 硬件平臺: 處理器 amd 雙核 2gb 內(nèi)存 500gb 硬盤 軟件平臺: 操作系統(tǒng):windows xp 開發(fā)工具:qt 4 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) 4.1系統(tǒng)的編譯與運行系統(tǒng)的編譯與運行 資源文件主要包括 cpp 源文件,頭文件以及.pro 文件。其中.pro 文件為工 程文件,編譯工具也是通過.pro 文件來得到所需要的源文件和頭文件。 當(dāng)系統(tǒng)成功運行一次之后,在 build-desktopdebug 文件下會生產(chǎn)一個和工 程名同名的可以執(zhí)行文件,當(dāng)然運行此.exe 文件還需要相應(yīng)的.dll 文件。 4.2系統(tǒng)運行系統(tǒng)運行 這款音樂播放器啟動運行后

37、,程序主界面如圖 4.1 所示: 圖 4.1 音樂播放器界面 4.3系統(tǒng)功能界面系統(tǒng)功能界面 .1 加入文件功能實現(xiàn)加入文件功能實現(xiàn) 功能描述: 選擇電腦中或者從網(wǎng)絡(luò)上已下載的最新的歌曲,將之加入播放器的播放列 表,同時更新播放列表。 圖 4.2 “加入文件”處理流程圖 流程描述:用戶運行音樂播放器軟件,單擊播放器的設(shè)定歌曲按鈕,選擇加 入文件。 運行 單擊文件 單擊加入文件 彈出打開文件對話框 選中文件,單擊打開 完成添加 圖 4.3 “加入文件”對話框 此時播放器調(diào)用 addfiles()函數(shù)打開加入音樂對話框。 從彈出的對話框中選擇最后需要打開的文件,點擊確定,從而實現(xiàn)添

38、加文 件的功能。代碼片段: 圖 4.4 加入文件功能代碼 .2 加入目錄加入目錄 功能描述: 實現(xiàn)加入一個目錄下面所有需要進(jìn)行播放的歌曲,同時更新播放器播放列 表。 處理流程: 運行 單擊文件 單擊加入目錄 彈出打開目錄對話框 選中目錄,單擊打開 完成添加 圖 4.5 “加入目錄”流程圖 流程描述:用戶運行音樂播放器軟件,單擊播放器的設(shè)定歌曲按鈕,選擇加 入目錄,此時播放器調(diào)用 adddirectory()函數(shù),打開加入目錄對話框: 圖 4.6 “加入目錄”對話框 adddirectory()函數(shù)代碼片段 圖 4.7 加入目錄功能代碼 .3 打開歌曲列表打開歌曲

39、列表 功能描述: 此功能模塊實現(xiàn)通過一個對話框打開.mpl 播放列表。 處理流程: 運行 單擊文件 單擊打開列表 選擇所需.mpl 文件 單擊打開 播放器顯示列表更新 完成 圖 4.8 “歌曲列表”功能流程圖 流程描述: 運行音樂播放器軟件,單擊打開列表功能按鈕,彈出文件信息對話框。 圖 4.9 文件信息對話框 openplaylist()代碼片段 圖 4.10 打開列表功能代碼 .4 歌曲控制功能實現(xiàn)歌曲控制功能實現(xiàn) 功能描述:此功能模塊實現(xiàn)對歌曲進(jìn)行打開/播放、暫停、停止、上一首、 下一首、順序播放、循環(huán)播放和隨機(jī)播放等控制。 處理流程: 圖 4.11“歌曲控制”功能流程圖

40、 運行 單擊相應(yīng)的功能按鈕 播放器完成相應(yīng)功能 完成 流程描述: 圖 4.12 控制功能按鈕 圖 4.13 模式功能演示圖 部分代碼片段 圖 4.14 模式功能代碼 .5 音量控制功能實現(xiàn)音量控制功能實現(xiàn) 功能描述:可以對當(dāng)前正在播放的歌曲調(diào)節(jié)播放音量的大小,方便快捷的 享受音樂帶來的感動。 處理流程: 圖 4.15 “音量控制”功能流程圖 流程描述:運行音樂播放器軟件,單擊播放器右邊音量控制功能按鈕,左 右拉動滑塊進(jìn)行音量調(diào)節(jié),如圖所示。 圖 4.16 音量控制功能演示圖 .6 靜音設(shè)置功能實現(xiàn)靜音設(shè)置功能實現(xiàn) 功能描述:此功能模塊實現(xiàn)對當(dāng)前正在播放的歌曲直接

41、進(jìn)行靜音。 處理流程: 運行 單擊音量控制按鈕 左右滑動調(diào)節(jié)音量 完成 運行 單擊靜音按鈕 進(jìn)行靜音/取消靜音 完成 圖 4.17 “靜音設(shè)置”功能流程圖 流程描述:運行音樂播放軟件,單擊播放器中間的靜音按鈕,具體如圖所 示。 圖 4.18 靜音控制功能演示圖 .7 播放進(jìn)度條功能實現(xiàn)播放進(jìn)度條功能實現(xiàn) 功能描述:定點播放音樂文件 處理流程: 圖 4.19 定點播放功能流程圖 流程描述:運行音樂播放器軟件,單擊播放器頂上進(jìn)度條按鈕,左右拖動 進(jìn)度條按鈕實現(xiàn)定點播放,如圖所示。 圖 4.20 進(jìn)度條功能演示圖 運行 單擊進(jìn)度條按鈕 左右拖動進(jìn)度條按鈕可以實現(xiàn)定點播放 完成 5 總總 結(jié)結(jié) 通過三個月的努力,在老師和同學(xué)的幫助下順利完成基于 qt 的音頻管理 系統(tǒng)。這個總結(jié),既為大學(xué)劃上一個完美的句號,也為將來的人生做了一個鋪 墊。 我選的題目是關(guān)于音樂播放器,之所以選這個為核心,是因為在大一的時 候我就想做一個音樂播放器,現(xiàn)在也算是實現(xiàn)了一個小夢想。剛剛開始的時候, 題目好定,但是內(nèi)容卻一再讓我陷入迷茫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論