新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于MiniGUI的嵌入式媒體播放器的設計與實現

        基于MiniGUI的嵌入式媒體播放器的設計與實現

        作者:陳運虎 韋 冰 時間:2008-07-04 來源:中國電子網 收藏

          1 引言

        本文引用地址:http://www.104case.com/article/85284.htm

          隨著系統的不斷發展,處理器性能的不斷提升,存儲系統容量的不斷擴大,各種多媒體應用程序被移植到系統中,多媒體組件成為其不可或缺的重要組成部分。的開發是當前 IT產業的熱點之一 ,呈現了巨大的市場需求。與些同時,播放器功能復雜化和普及化對產品的交互界面提出了更高的要求。現在許多高端手機和PDA 產品上已經有了多,可是和PC 機上的播放器相比現有的這些播放器的功能都有待進一步增強。

          將現代窗口和圖形技術帶入到嵌入式設備的 ,是一個非常適合于實時嵌入式設備的高效、可靠、可定制、小巧靈活的跨操作系統的圖形用戶界面支持系統。它采用類Win32的API接口,是一個多窗口GUI支持系統。本文首先比較各種嵌入式圖形系統,然后提出基于的嵌入式的設計與實現方法。

          2 各種嵌入式圖形系統之比較

          目前,流行的面向嵌入式系統的圖形系統有MicoroWindows/NanoX、Qt/Embedded、、DirectFB、PicoGUI以及GTK+/FB等。它們中的大多數遵循LGPL條款發布,而MicoroWindows/NanoX遵循的是MGPL,Qt/Embedded采用QGPL條款發布。

          MicroWindows/NanoX能夠在沒有任何操作系統或其他圖形系統的支持下運行,它能對裸顯示設備進行直接操作。這樣,MicroWindows就顯得十分小巧,便于移植到各種硬件和軟件系統上。然而MicroWindows/NanoX的免費版本開發進展慢,而且缺乏全面專業的技術支持。

          Qt/Embedded功能強大,但是,由于它是基于C++類庫的,所以和其他GUI相比系統消耗資源較大,一般應用于手持式高端信息產品。

          GTK+/FB與Qt/Embedded類似,跳過X層直接與FrameBuffer溝通,也具有Qt/Embedded的幾項優點,但發展速度緩慢。

          DirectFB是專注于Linux FrameBuffer加速的一個圖形庫,并試圖建立一個兼容GTK的嵌入式GUI系統。

          PicoGUI是一種新型的小巧的嵌入式圖形系統。同X Windows系統一樣具有一個彈性的客戶服務端架構。PicoGUI將字體,位圖,窗口小部件,以及其他應用程序需要的東西都直接建立在服務器上,與X Windows相比,雖然靈活性有所降低,但速度顯著提升、體積大大縮小。

          MiniGUI為實時嵌入式操作系統提供了非常完善的圖形及用戶界面支持。MiniGUI本身的可移植性設計,使得不論在哪個硬件平臺,哪種操作系統上運行,MiniGUI均能為上層應用程序提供一致的應用程序編程接口(API)。MiniGUI小巧、靈活且對中文的支持性最好。

          3 設計與實現

          3.1播放器總體結構

          本文中的播放器采用MiniGUI作為底層圖形庫,用于生成用戶界面以及讀寫FrameBuffer。基于MiniGUI的嵌入式系統總體架構如圖1所示。

          圖1 基于MiniGUI的嵌入式系統總體架構

          播放器軟件總體結構如圖2所示,它主要由三部分組成,分別是圖形用戶界面模塊、系統管理主控模塊和音/視頻解碼器。三部分功能設計如下面所述:

          圖形用戶界面模塊通過事件/消息機制和系統管理主控模塊交互。

          音/視頻解碼器模塊可以看作是系統管理主控模塊的插件(plug-in),從系統管理主控模塊獲得編碼的音/視頻數據并對其解碼后發送己解碼的音/視頻數據給系統管理主控模塊。

          系統管理主控模塊則負責網絡數據的接收和解析、圖形用戶界面模塊和音/視頻解碼器模塊的工作協調和音/視頻數據的輸出。這個模塊是播放器軟件中非常重要的一個模塊。

          圖2 播放器應用程序結構圖

          3.2 用戶圖形界面設計

          MiniGUI提供了豐富的GUI元素,如常見的控件類、對話框與消息框以及菜單等,此外,MiniGUI支持界面皮膚。因此,利用MiniGUI可以非常方便地設計出漂亮的用戶圖形界面。

          播放器的主要包括播放控制與文件列表管理兩大部分。播放控制用來實現對所選擇的媒體文件作播放/暫停、停止及進度控制等;文件列表管理則用來實現向播放列表添加、刪除媒體文件以及對列表中文件排序等功能。

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

        c++相關文章:c++教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 罗山县| 金阳县| 监利县| 拉孜县| 沙雅县| 郧西县| 镇原县| 金溪县| 台东县| 绥化市| 岳池县| 潞西市| 化隆| 平谷区| 奉化市| 成武县| 彭州市| 湘阴县| 西华县| 淄博市| 朔州市| 绥化市| 正镶白旗| 高平市| 互助| 高邑县| 株洲县| 丰镇市| 德令哈市| 平远县| 彭水| 云阳县| 嘉义县| 漯河市| 镇远县| 邢台市| 晋城| 高安市| 南召县| 仙桃市| 望谟县|