新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式掌上娛樂系統(tǒng)設(shè)計(jì)方案

嵌入式掌上娛樂系統(tǒng)設(shè)計(jì)方案

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

3.1 播放器的實(shí)現(xiàn)

對于音頻和視頻的播放,本系統(tǒng)使用QT 設(shè)計(jì)一個(gè)前端播放、控制界面,并使用Mplayer 作為后端程序,能播放mp3、ogg、ogm、wma、wav、asf、au、avi、mpeg、mpg、mv1、mov、wmv、pls、m3u、mp4、 m4a 等音頻和視頻格式。播放器模塊的結(jié)構(gòu)圖如圖3 所示,播放器使用Mplayer 作為后端程序(紅色部分),使用QT4開發(fā)前端程序(綠色部分)。

圖3 播放器結(jié)構(gòu)圖

3.1.1 后端程序簡介

本系統(tǒng)使用Mplayer 作為其后端程序。MPlayer被評為Linux 下的最佳媒體播放工具,不需要任何系統(tǒng)解碼器就可以播放包括視頻、音頻、流媒體、廣播、電視等各種媒體。

Mplayer 另一個(gè)重要特點(diǎn)在于其開源性。

Realplayer,Windows Media Player,Quick Time 等許多播放軟件都是性能優(yōu)秀的播放軟件,但由于它們都不開放源代碼,給移植帶來了麻煩。同時(shí)MPlayer 還具有良好的移植性,可以移植到許多非X86 平臺(tái)上,MPlayer 軟件包中含有針對ARM 架構(gòu)的優(yōu)化代碼,這些代碼利用ARM 的特性加快了對媒體的處理速度。

基于以上多個(gè)原因,本系統(tǒng)選擇了MPlayer 作為娛樂終端的播放軟件。本系統(tǒng)通過移植Mplayer 來實(shí)現(xiàn)對視頻的播放功能。Mplayer 編、解碼模塊,是系統(tǒng)的音、視頻處理中心,在mplayer 的編解碼庫中,包含的大量的音、視頻格式處理程序,經(jīng)過編譯優(yōu)化過的mplayer 可以完成對大多數(shù)音、視頻格式高效的編解碼工作。

3.1.2 前端程序的設(shè)計(jì)與播放器的實(shí)現(xiàn)

主界面窗口有一個(gè)顯示屏和一些控制按鈕,包括播放、暫停、下一首、上一首、音量調(diào)整以及播放進(jìn)度條。文件操作窗口可以使用戶選擇要播放的文件。

播放列表用來播放用戶加載的文件。

MPlayer 默認(rèn)全屏播放,但在GUI 中一般都是指定區(qū)域或者控制來播放。這樣顯得美觀,MPlayer 支持在指定的X 窗口播放的功能。用-wid 參數(shù)告訴窗口ID即可。例如:mplayer test.mpg -wid 0x00029 #0x0029是XID,而QT 的控件都是從QWidget 繼承下來,因此它本身也有wid,這樣只要用 QWidget::winID() 取出WID,即可實(shí)現(xiàn)在指定窗口播放視頻的功能。

本模塊是建立一個(gè)Qt GUI 程序。然后用一個(gè)label控件來播放視屏,用一個(gè)進(jìn)度條顯示播放的進(jìn)度,用按鍵顯播放,暫停,上一首,下一首,停止和添加資源文件。然后用一個(gè)Qprocess 在后臺(tái)執(zhí)行MPlayer,并把label 的WID 傳給它。然后把MPlayer 的輸入輸出重定向,把原本從標(biāo)準(zhǔn)輸入接收命令變成從GUI 的接收命令。

3.1.3 播放功能設(shè)計(jì)

播放器實(shí)現(xiàn)的軟件流程圖如圖4 所示:

圖4 播放器軟件流程圖。

通過定義一個(gè)QProcess 對象調(diào)用已編譯好的Mplayer。

QProcess *process = new QProcess();

process->setProcessChannelMode(QProcess::MergedChannels);

Process->start("mplayer –ac –mad xxxxx");

在命令中添加 -slave 和 -quiet 就可以通過命令設(shè)置Mplayer 實(shí)現(xiàn)相應(yīng)的功能。Process->start("mplayer–slave –quiet –ac –mad xxxxx")。

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


關(guān)鍵詞: 嵌入式 觸摸式 多媒體

評論


相關(guān)推薦

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

關(guān)閉