新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Qt的嵌入式媒體播放器系統(tǒng)的設(shè)計(jì)

基于Qt的嵌入式媒體播放器系統(tǒng)的設(shè)計(jì)

作者: 時(shí)間:2009-04-22 來源:網(wǎng)絡(luò) 收藏

1引言

本文引用地址:http://m.butianyuan.cn/article/152530.htm

隨著用戶要求的不斷提高,越來越多的設(shè)備使用功能強(qiáng)大、價(jià)格低廉的Linux作為操作并開始采用較為復(fù)雜的圖形用戶界面。以其強(qiáng)大的功能、良好的可移植性逐漸成為一種被廣泛使用的GUI。正是由于操作及其相應(yīng)圖形用戶界面的不斷發(fā)展,嵌入式軟件的開發(fā)顯得越來越重要。其中嵌入式由于能夠滿足人們的視聽享受已經(jīng)逐漸成為了系統(tǒng)中不可或缺的重要組成部分,在嵌入式系統(tǒng)上開發(fā)已經(jīng)成為了一個(gè)技術(shù)熱點(diǎn),當(dāng)前許多嵌入式產(chǎn)品中都包含。因此在的嵌入式系統(tǒng)中實(shí)現(xiàn)媒體播放器具有深刻的意義和實(shí)用價(jià)值。

2 嵌入式媒體播放器系統(tǒng)

2.1架構(gòu)

嵌入式媒體播放器架構(gòu)方案如圖1所示。通過使用純C++語言開發(fā)來支持系統(tǒng),采用/Embedded作為GUI來提供強(qiáng)大的用戶界面,實(shí)現(xiàn)一個(gè)開放式的插件接口來增強(qiáng)擴(kuò)展性,利用內(nèi)核幀緩沖來輸出,消除對(duì)特定架構(gòu)的依賴,從而保證可移植性。媒體播放器屬于上層應(yīng)用程序,位于Linux用戶空間。這樣設(shè)計(jì)的目的是為了系統(tǒng)移植性。

圖形用戶界面窗口以Qt/Embedded為基礎(chǔ)開發(fā),通過調(diào)用Qt/Embedded提供的類庫根據(jù)需要設(shè)計(jì)可以管理多媒體文件的基本窗口,包括打開、刪除、顯示文件長(zhǎng)度、顯示播放時(shí)間等窗口,以及為方便用戶設(shè)定的管理播放列表、進(jìn)行播放控制的窗口,這些都是直接和用戶打交道的。由于采用了Qt/Embedded作為GUI,移植性可以得到保證。

文件輸入主要是對(duì)用戶指定的文件進(jìn)行讀取和解析,將獲得的文件長(zhǎng)度、播放時(shí)間、編碼格式、音視頻幀率、文件標(biāo)題等內(nèi)容,結(jié)合MIME的處理,顯示在預(yù)先設(shè)計(jì)的窗口中。

插件接口調(diào)用主要是把所有對(duì)的操作整合到一個(gè)統(tǒng)一的開放式接口當(dāng)中,根據(jù)上一部分解析出的文件信息去查找相應(yīng)的插件并調(diào)用,如果沒有找到可用的可以返回信息提醒用戶添加相應(yīng)的插件。通過實(shí)現(xiàn)這樣一個(gè)接口可以使播放器的擴(kuò)展性大大提高,因此本部分是媒體播放器的核心。

文件解碼和輸出主要負(fù)責(zé)通過調(diào)用解碼器對(duì)音視頻數(shù)據(jù)流進(jìn)行解碼,然后利用QT/Embedded可以直接操縱內(nèi)核幀緩沖FrameBuffer的特性,將解碼之后的數(shù)據(jù)通過FrameBuffer直接送到輸出設(shè)備輸出,避免對(duì)DirectShow、OpenGL等特定架構(gòu)的依賴,進(jìn)一步增強(qiáng)可移植性。

圖1 嵌入式媒體播放器的架構(gòu)

3 插件接口模塊和解碼庫模塊

3.1插件接口模塊設(shè)計(jì)

插件接口模塊是整個(gè)播放器的核心部分,它封裝了對(duì)具體解碼器的操作,從而在輸入和輸出模塊之間搭起一座橋梁,確保數(shù)據(jù)的正常流動(dòng)。插件接口模塊主要提供了以下方法來控制解碼器:

1)文件支持性函數(shù) bool isFileSupported(const QStringfilename);

通過檢查文件的擴(kuò)展名來確定待播放的文件是否被播放器支持,若是返回真,否則返回假??勺R(shí)別的擴(kuò)展名有asf、avi、dat、mp2、mp3、mpeg、mpg、ogg、wav等。如果添加了新的解碼器插件以后可以識(shí)別新的文件格式,只需要將其擴(kuò)展名添加到此函數(shù)的支持列表中

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉