基于Mobile的手機流媒體實(shí)時(shí)圖像瀏覽客戶(hù)端的軟件設計
3.3.2 新建一個(gè)CEric-MediaControl 類(lèi),用于封閉媒體文件播放等功能
CEricMediaControl 類(lèi)是一個(gè)通用的C++ 類(lèi),無(wú)基類(lèi)。
下面就來(lái)具體實(shí)現CEricMediaControl 類(lèi)。
a.為CEricMediaControl 類(lèi)添加私有變量,用于定義播放媒體文件播放所需的DSHOW接口。
b.定義媒體播放事件對應的WINDOWS 消息常量WM_GRAPHNOTIFY,定義如下:#define WM_GRAPHNOTIFYWM_USER + 101。
c.實(shí)現CEricMediaControl 類(lèi)的構造函數和析構函數。在構造函數里,將DSHOW相關(guān)的接口初始化為NULL,并初始化COM環(huán)境;在析構函數里,釋放DSHOW 接口并釋放COM環(huán)境。
d.為CEricMediaControl 類(lèi)添加InitDShow和UnInitDShow兩個(gè)私有方法。
e.為CEricMediaControl 類(lèi)添加4 個(gè)共有方法,供外部調用。這4 個(gè)方法分別為OpenFile、VideoRun、VideoPause、VideoStop。f. 為類(lèi)CEricMediaControl類(lèi)添加7 個(gè)共有的方法,用于設置媒體播放屬性以及得到媒體播放器的屬性。這7個(gè)方法分別為FitVideoWindow、FullScreen、Get-FullScreenStatus、GetMediaEvent、SetPositions、GetDuration。
3.3.3 設計媒體播放器的主窗口
根據媒體播放器上的樣式,對話(huà)框上的控件及其屬性設置如表1 所示。
至此,媒體播放器就編寫(xiě)完成了,編譯并部署到模擬器中,即可實(shí)現流媒體實(shí)時(shí)圖像的瀏覽了,同時(shí)可以作為本地媒體播放器使用,通過(guò)“打開(kāi)”按鈕選擇播放本地媒體文件。
4 結語(yǔ)
隨著(zhù)手機市場(chǎng)的不斷增長(cháng)和3G 網(wǎng)絡(luò )業(yè)務(wù)的快速發(fā)展,針對智能手機音/ 視頻圖像的傳輸,本文通過(guò)流媒體技術(shù)以及網(wǎng)絡(luò )編程的研究,實(shí)現了在Mobile 操作系統下實(shí)時(shí)圖像的傳輸及瀏覽。這個(gè)實(shí)時(shí)流媒體傳輸系統經(jīng)過(guò)進(jìn)一步完善后,將可以推廣到更多場(chǎng)合中,得到更多的應用,例如:視頻會(huì )議、遠程教學(xué)等,具有實(shí)際應用價(jià)值。
評論