新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 娛樂系統方案解析

        娛樂系統方案解析

        作者: 時間:2012-05-14 來源:網絡 收藏

        3.1.1 后端程序簡介

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

        Mplayer 另一個重要特點在于其開源性。

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

        基于以上多個原因,本選擇了MPlayer 作為終端的播放軟件。本系統通過移植Mplayer 來實現對視頻的播放功能。Mplayer 編、解碼模塊,是系統的音、視頻處理中心,在mplayer 的編解碼庫中,包含的大量的音、視頻格式處理程序,經過編譯優化過的mplayer 可以完成對大多數音、視頻格式高效的編解碼工作。

        3.1.2 前端程序的設計與播放器的實現

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

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

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

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

        3.1.3 播放功能設計


        圖4 播放器軟件流程圖

        通過定義一個QProcess 對象調用已編譯好的Mplayer。

        QProcess *process = new QProcess();

        process->setProcessChannelMode(QProcess::MergedChannels);

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

        在命令中添加 -slave 和 -quiet 就可以通過命令設置Mplayer 實現相應的功能。Process->start(mplayer–slave –quiet –ac –mad xxxxx)。

        下面對播放器的暫停播放功能和音量調節進行介紹。



        關鍵詞: 解析 方案 系統 娛樂

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通州市| 聂拉木县| 庆云县| 历史| 齐齐哈尔市| 特克斯县| 揭西县| 靖宇县| 浮梁县| 中西区| 东源县| 白水县| 沿河| 陆河县| 梅河口市| 齐河县| 怀化市| 水富县| 荔浦县| 西宁市| 安福县| 嫩江县| 博野县| 安国市| 威远县| 衡东县| 泗洪县| 海兴县| 临沂市| 房产| 江西省| 裕民县| 肇源县| 罗城| 水城县| 五寨县| 定南县| 屯留县| 砀山县| 耒阳市| 南陵县|