freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于qt的多媒體播放器系統(tǒng)的設(shè)計與實現(xiàn)(參考版)

2025-06-30 18:41本頁面
  

【正文】 2005年[9]董國. uClinux的分析與移植[D]華東師范大學(xué) , 2004 [10]帥春燕. 基于ARMLinux嵌入式系統(tǒng)的研究與應(yīng)用[D]昆明理工大學(xué) , 2004 [11]李明. ARM Linux的移植過程及分析[J]電子設(shè)計應(yīng)用 , 2003,(07) [12]衰野,2006,34:103105[13],2000[14] 管理與應(yīng)用基礎(chǔ)[M] . 北京:清華大學(xué)出版社,2002.[15]鄒思軼. 嵌入式Linux 設(shè)計與應(yīng)用[M] . 北京: 清華大學(xué)出版社, 2002.[16]Xteam (中國)軟件技術(shù)有限公司編著,Qt程序設(shè)計,清華大學(xué)出版社.[17]李宋琛主編,Linux面向?qū)ο蟠翱诟呒壘幊?科學(xué)出版社.[18]Haerr ,[19]Trolltech Inc. Qt Reference Documentation . 2001[20]Wang H. Intelligent Agents in the Nuclear Industry. IEEE Computer,1997[21]Frankel C B, Bedworth M D. Control, Estimation and Abstraction in Fusion Architectures:Lessions from Human Information , France: Proc. 2000 International Conf. on Information Fusion,200007[22]Suton R S,Barto A G. Reinforcement Learning: An , MA: MIT Press, 1998?;贏RM的嵌入式Linux研究與實現(xiàn)[D]。計算機世界。2007年[6]共創(chuàng)軟件聯(lián)盟?;谇度胧絃inux的數(shù)字相框設(shè)計[A]。郝衛(wèi)東。第25屆中國控制會議論文集(下冊)[C]。李平。2004年01期[4]劉軍良。嵌入式LINUX系統(tǒng)[J]。微電腦世界。參考文獻[1]王森林,(自然科學(xué)版),2007[2]孫永杰。金老師以其嚴(yán)謹(jǐn)求實的治學(xué)態(tài)度、孜孜以求的敬業(yè)精神和大膽創(chuàng)新的進取精神深深感染了我,對我今后的工作和學(xué)習(xí)也產(chǎn)生了深遠(yuǎn)影響,在此,我要向他表示衷心的感謝。目前從事的工作也是和嵌入式有關(guān)的,希望此次畢業(yè)設(shè)計未能實現(xiàn)的都將在以后的學(xué)習(xí)和工作中一一解決。其中,Linux操作系統(tǒng)由于其公開的源代碼也在嵌入式的應(yīng)用中占有一席之地。此外,在虛擬機下運行的QT也遇到了版本的問題,最終也沒能下載到2440板子上,這些問題都將在以后的學(xué)習(xí)過程中加以解決。在嵌入式系統(tǒng)基礎(chǔ)上,主要分析了Linux操作系統(tǒng)的的特點和優(yōu)勢,了解了Linux內(nèi)核的基本概念;通過Linux系統(tǒng)下的QT編譯環(huán)境的學(xué)習(xí),了解了音頻解碼模塊,簡單應(yīng)用的QT creator下的phonon構(gòu)架設(shè)計了音樂播放器。最終通過編譯后可看到以下界面,可以通過按鈕實現(xiàn)播放器的簡單功能。多媒體文件的播放主要過程包括:文件讀取、分流、解碼、輸出。應(yīng)用程序不用去管多媒體播放是通過什么實現(xiàn)的(如gstreamer、xine),只需調(diào)用相應(yīng)的接口就行,但這中間需要一個中轉(zhuǎn),被稱為backend。目前在Qt ,它能實現(xiàn)底層的多媒體播放功能,在一般情況下上層的接口phonon模塊更適合實現(xiàn)這些功能。其次就是QT creator的庫依賴問題,在創(chuàng)建工程的時候可以用GUI選擇你需要依賴的Qt模塊,這樣你可以僅僅通過包含頭文件名即可正確包含頭文件,但是沒有選擇的話,你需要包含相對目錄。VolumeSlider widget提供可以控制聲音裝置音量的widget。 }}SeekSlider類別提供一個可滑動的slider來設(shè)定多媒體串流播放的位置。 case Phonon::LoadingState: uipushButtonPlaysetChecked(false)。 case Phonon::StoppedState: mediaObjectplay()。 case Phonon::PausedState: mediaObjectplay()。 uipushButtonPlaysetChecked(false)。這正是以上代碼的最后一行的作用。我們將使用“metaInformationResolver”來指向當(dāng)前音頻文件,而最后一行在接收槽和媒體對象之間建立了連接。MediaObject位于這一層的上層,增加了諸如暫停、播放和倒帶之類的功能。在Phonon術(shù)語中,我們要創(chuàng)建的audioOutput對象叫做音頻接收槽。metaInformationResolver = new Phonon::MediaObject(this)。我們將從設(shè)置Phonon開始:audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this)。”行來運行的。這可以通過標(biāo)準(zhǔn)的初始化方法MainWindow::MainWindow來完成。Phonon::MediaObject *metaInformationResolver。Phonon::MediaObject *mediaObject??梢钥吹剑@些槽對應(yīng)于我們在用戶界面中創(chuàng)建的名稱,而且我們還添加了更多的槽來處理內(nèi)部通信。 void aboutToFinish()。 void addFiles()。在“public:”部分中的“~MainWindow()。點擊“”,并在頂部添加如下代碼行:include QList include QFileDialog include QDesktopServices include Phonon以上代碼的作用是,通過頭文件導(dǎo)入我們要在代碼中使用的Qt函數(shù)。Phonon::Path path = Phonon::createPath(mediaObject, audioOutput)。mediaObjectsetCurrentSource(Phonon::MediaSource(/mymusic/))。所以它能夠經(jīng)由類似喇叭等輸出裝置來播放聲音,稍早有提過,多媒體資料的來源必須要經(jīng)過Phonon::createPath()由MediaObject連接。而媒體播放、暫停與停止都是由它來控制;而在此之前,media物件必須要與output node連接,如早先所講的,這個nodes主要講媒體輸出至底層的硬體,例如音效卡或顯示卡等,而所需要的output node則是根據(jù)多媒體的內(nèi)容而所不同,目前Phonon有兩種output node;?AudioOutput-聲音播放 ?VideoWidget-影像播放 如果MediaSource包含聲音與影像的話,這兩種node都必須要連接至media物件。 MediaObject類別主要提供一個能夠處理媒體播放的介面。通常sink是一個播放的裝置(例如音效卡等)。而提供多媒體資料給media object的則為media source,在給media object之前通常是raw data,再由media object進行轉(zhuǎn)換。Phonon的架構(gòu)整體來說,Phonon的架構(gòu)只需要記住以下的三東西:media object Phonon的基礎(chǔ),用于管理多媒體來源。 Qt Phonon設(shè)計簡單介紹下載安裝后打開Qt creator軟件,通過Phonon構(gòu)架來設(shè)計音樂播放器, Phonon嚴(yán)格來說其實非為Qt的library,Phonon原本就是KDE 4的開放原始碼多媒體API,后來與Qt合并與開發(fā),所以簡單來說就是Qt使用Phonon這個多媒體框架來提供一般影音多媒體檔案的播放,而這些影音多媒體來源可以是檔案、網(wǎng)絡(luò)串流或是指到一個檔案的QUrl。通過實現(xiàn)這樣一個接口可以使播放器的擴展性大大提高,因此本部分是媒體播放器的核心。文件輸入主要是對用戶指定的文件進行讀取和解析,將獲得的文件長度、播放時間、編碼格式、音視頻幀率、文件標(biāo)題等內(nèi)容,結(jié)合MIME 的處理,顯示在預(yù)先設(shè)計的窗口中。圖 51 嵌入式媒體播放器的架構(gòu)圖形用戶界面窗口以 Qt/Embedded 為基礎(chǔ)開發(fā),通過調(diào)用Qt/Embedded 提供的類庫根據(jù)需要設(shè)計可以管理多媒體文件的基本窗口,包括打開、刪除、顯示文件長度、顯示播放時間等窗口,以及為方便用戶設(shè)定的管理播放列表、進行播放控制的窗口,這些都是直接和用戶打交道的。媒體播放器屬于上層應(yīng)用程序,位于Linux 用戶空間。 架構(gòu)設(shè)計嵌入式媒體播放器架構(gòu)設(shè)計方案如圖51所示。dependencyfileN是創(chuàng)建target需要依賴的文件列表。Make命令在執(zhí)行時按順序名為GUNmakefile,makefile和Makefile文件進行編譯。要完成make管理項目的工作必須編寫Makefile。Make管理項目通過把命令行保存到Makefile文件簡化了編譯工作。圖42make管理項目的使用當(dāng)使用GUN中的編譯器如gcc,GUN c++開發(fā)應(yīng)用時,絕大多數(shù)情況下需要使用make管理項目。運行命令:gedit/root/.bashrc編輯/root/.bashrc文件,在最后一行輸出PATH=$PATH:/usr/loca/arm/,保存退出。gcc編譯器能將C、C++語言源程序、匯編語言程序和目標(biāo)程序編譯、鏈接成可執(zhí)行文件。gcc編譯器的安裝和使用gcc編譯器的作用是將高級語言或者匯編語言寫的源代碼翻譯成處理器上等效的一系列操作指令。在開發(fā)過程中,每一個步驟都是在通用的計算機上執(zhí)行軟件轉(zhuǎn)換的過程。在嵌入式系統(tǒng)中,由一個源文件變成最終可執(zhí)行的二進制文件,一般要經(jīng)過3個過程,即編譯,連接,和重新定位。在虛擬機中安裝Linux系統(tǒng),我們選擇標(biāo)準(zhǔn)安裝(Typical),安裝過程中先創(chuàng)建一個虛擬空白盤,然后選擇Linux系統(tǒng),版本為fedora,整個安裝流程參照mini2440用戶手冊來完成。當(dāng)然,利用JTAG技術(shù)也可以完成上述任務(wù),但是,JTAG燒寫速度很慢。與Linux一樣,網(wǎng)上有很多開放源代碼的bootloader,在為自己的開發(fā)板寫bootloader程序時,可以先找到與硬件平臺相類似的bootloader,然后只要做一些改動就可以在開發(fā)板上運行了。最終,bootloader把操作系統(tǒng)內(nèi)核映像加載到RAM中,并將系統(tǒng)控制權(quán)傳遞給它。應(yīng)用程序文件系統(tǒng)驅(qū)動模塊內(nèi)存驅(qū)動模塊網(wǎng)絡(luò)驅(qū)動模塊GPIO驅(qū)動模塊圖形驅(qū)動模塊音頻輸出驅(qū)動模塊嵌入式Linux內(nèi)核硬件平臺圖41 嵌入式Linux體系結(jié)構(gòu) 引導(dǎo)裝載程序BootLoader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。如圖41所示,它是由一個內(nèi)核和一些可以定制系統(tǒng)模塊組成,如文件模塊,網(wǎng)絡(luò)模塊,各種驅(qū)動模塊等。相對于WinCE、pSOS、palm05等商用實時操作系統(tǒng)(RTOS)它具有源碼開放、易移植、模塊化、資源豐富等優(yōu)勢。S3C2440 結(jié)構(gòu)框圖 2440 外部硬件連接1.把開發(fā)板所配的5V電源適配器連接到開發(fā)板5V 輸入插孔上 ——板子為5V 供電,但核心板arm 供電2.用串口連接線(開發(fā)套件中提供)將開發(fā)板上的串口COM0 與PC 機串口相連 ——當(dāng)使用DNW、mini、超級終端與板子通信時,這些軟件上的信息是通過串口打印出來的3.用USB 連接線將開發(fā)板與PC 機相連(開發(fā)板接USB DEVICE 口) ——在燒寫flash 的時候,可以通過usb 下載 ——在wince 系統(tǒng)下,可以通過usb 和PC 取得同步4.用交叉網(wǎng)線(一頭為A 型接法一頭為B 型接法)將ETHERNET 與PC 機相連5. ——在掛載網(wǎng)絡(luò)文件系統(tǒng)NFS 及練習(xí)網(wǎng)絡(luò)編程時使用音箱連接到音頻輸出接口(紅色) 軟件開發(fā)環(huán)境本文設(shè)計的播放器是基于嵌入式Linux操作系統(tǒng)進行設(shè)計。— 采用寫穿式(write–through)或?qū)懟厥剑╳rite–back)Cache 操作來更新主存儲器?!?每行8 字長度,其中每行帶有一個有效位和兩個dirty 位?!?采用4KB 內(nèi)部緩沖器進行啟動引導(dǎo)。— 支持各種型號的ROM 引導(dǎo)(NOR/NAND FLASH,EEPROM,或其它)?!?支持外部等待信號延長總線周期?!?8 個存儲器bank,其中6 個適用于ROM,SRAM 和其它,另外兩個適用于ROM/SRAM和同步DRAM?!?從bank0 到bank6 都采用固定的bank 起始尋址?!?支持快速總線模式和同步總線模式— 尋址空間:每bank 128M 字節(jié)(總共1G 字節(jié))?!?內(nèi)部高級微控制總線(AMBA)體系結(jié)構(gòu)(,AHB/APB)。— 指令高速存儲緩沖器(I–Cache),數(shù)
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1