[摘要] 本課題的重點是討論利用現(xiàn)在的J2ME,MPEG及相應(yīng)的流媒體技術(shù),開發(fā)出移動設(shè)備終端的媒體播放器。
[關(guān)鍵詞] 流媒體 J2ME MPEG RTP RTCP
一、引言
隨著通信技術(shù)和計算機技術(shù)的迅猛發(fā)展,3G時代的到來,使得人們對手持設(shè)備的應(yīng)用有了更高的要求,人們已不滿足于簡單的通話,收發(fā)短信等基本功能,而更多的是要求有多媒體應(yīng)用,能利用手機進(jìn)行上網(wǎng)沖浪,3D游戲,播放視頻等。
二、系統(tǒng)的分析與設(shè)計
1.目前存在的系統(tǒng)分析
隨著通信技術(shù)和計算機技術(shù)的迅猛發(fā)展,使得人們對手持設(shè)備的應(yīng)用有了更高的要求,人們已不滿足于簡單的通話,收發(fā)短信等基本功能,而更多的是要求有多媒體應(yīng)用,能利用手機進(jìn)行上網(wǎng)沖浪,3D游戲,播放視頻等。移動設(shè)備通過網(wǎng)絡(luò)觀看視頻將是不可避免的問題。而且目前的城市的網(wǎng)絡(luò)覆蓋率比較的好。
在這種情況下,多媒體播放器在設(shè)計與實現(xiàn)在有一些問題:
(1)由于多媒體手機在硬件性能上與PC機有著顯著的差異,所以在多媒體手機上播放的視頻短片的比特率要遠(yuǎn)遠(yuǎn)低于PC機上的,所以在設(shè)計多媒體手機時要受到多媒體手機硬件與操作系統(tǒng)的影響。
(2)現(xiàn)在多媒體手機外接的存儲卡容量不是很高,當(dāng)你在旅行的過程中或者在移動的過程中,因為你的存儲卡的容量有限,所以你只能看少量的視音文件。
(3)現(xiàn)在多媒體手機在播放視音頻文件的過程中,如果你看到自已喜歡的圖片,你就想要保存下來,作為永久的珍藏。
(4)如何設(shè)計一項全新多媒體播放器,為將來的多媒體移動服務(wù)打下堅實的基礎(chǔ)。
2.對目前系統(tǒng)的改進(jìn)
本項目是一個關(guān)于手機播放器的系統(tǒng),通過移動終端手機能夠?qū)崿F(xiàn)在任何時間,地點進(jìn)行多媒體音頻與視頻的播放,本項目在空間上延伸了基于internet的網(wǎng)絡(luò)服務(wù),在時間上更具有靈活性。本系統(tǒng)只能播放視頻文件的格式為MPEG格式與音頻文件的格式為WAV格式,這是因為由底層的開發(fā)包所決定的。
本項目具有以下幾個功能模塊:
(1)首先視頻(主要是MPEG格式)的播放模塊,播放形式主要采用兩種形式:本地播放與網(wǎng)絡(luò)播放。本地播放也就是所謂的視頻文件在本地手機存儲器里,直接進(jìn)行播放,網(wǎng)絡(luò)播放主要是視頻文件放在網(wǎng)絡(luò)服務(wù)器,手機進(jìn)行調(diào)用播放。它在空間上延伸了internet網(wǎng)絡(luò)服務(wù),在時間上更具有靈活性。
(2)其次實現(xiàn)音頻(主要是WAV格式)的播放模塊,播放形式主要采用兩種形式:本地播放與網(wǎng)絡(luò)播放。運行方式與視頻播放模塊相似。
(3)再次抓圖模塊,在進(jìn)行播放本地與網(wǎng)絡(luò)視頻時,當(dāng)你認(rèn)為哪一個視頻的瞬間你很鼓歡,你就可以進(jìn)行抓圖,把它抓下來。
(4)最后是控制模塊,在進(jìn)行播放音頻與視頻的同時,有一些基本的控制功能,比如:播放,停止,暫停,增加音量,減小音量等。
1>以下是本地播放視頻或音頻文件流程圖
以上圖的說明:這是一個本地播放視頻或音頻文件的流程圖,首先生成一個等待WaitCanvas的對象,之后生成一個等待界面,然后生成一個VideoCanvas對象,它主要是用來進(jìn)行播放文件控制的,用VideoCanvas生成的對象來打開用戶在剛開始的界面上所輸入URL,URL里包括IP地址,端口號(8080)以及被訪問的文件名。如果打開成功都進(jìn)行播放,如果失敗者結(jié)束程序。最終關(guān)閉MIDlet程序。
2>以下是網(wǎng)格播放視頻或音頻文件流程圖
以上圖的說明:這是一個網(wǎng)絡(luò)播放視頻或音頻文件的流程圖,首先生成一個等待WaitCanvas的對象,之后生成一個等待界面,然后生成一個VideoCanvas對象,它主要是用來進(jìn)行播放文件控制的,用VideoCanvas生成的對象來打開用戶在剛開始的界面上所輸入URL,URL里包括IP地址,端口號(8080)以及被訪問的文件名。如果打開成功都進(jìn)行播放,如果失敗者結(jié)束程序。最終關(guān)閉MIDlet程序。
三、客戶端的實現(xiàn)
手機客戶端MIDlet的設(shè)計是本課題研究的重點,是實現(xiàn)本地與無線播放器應(yīng)用的關(guān)鍵,客戶端MIDlet需要解決的關(guān)鍵問題有:MIDlet程序結(jié)構(gòu)流程控制,界面的開發(fā);準(zhǔn)確地提交用戶請求參數(shù)問題等。根據(jù)系統(tǒng)需求分析,本項目終端支持系統(tǒng)的客戶端主要面向的活動者是有具有多媒體手機的用戶。以多媒體手機的用戶所應(yīng)具有的功能進(jìn)行介紹手機客戶端MIDlet開發(fā)的過程和主要解決的問題。
1.客戶端流程設(shè)計
主要的流程說明:首先啟動MIDlet,進(jìn)行輸入所要訪問的服務(wù)器的IP和所要播放的文件的全稱,如果輸入錯誤,都重新輸入,如果輸入正確者,進(jìn)行下面的一個操作,機器根據(jù)你所輸入的IP地址來判斷是本地播放,還是要進(jìn)行網(wǎng)絡(luò)的播放,當(dāng)你如果輸入的是本地IP,那么手機只播放你在手機存儲介質(zhì)里面的視頻或音頻文件。如果你輸入的是網(wǎng)絡(luò)IP,那么手機會播放在服務(wù)器中的視頻或音頻文件。在進(jìn)行播放視頻與音頻的過程中,可以對被操作對象進(jìn)行一系列的操作,比如抓圖等。
2.MIDLET主程序的設(shè)計
一個MIDP應(yīng)用程序的基本執(zhí)行單元——MIDlet,所以ControlVideo繼承MIDlet了,并有以下幾個方法:startApp(),pauseApp(),destroyApp(),commandAction()還有一個線程PlayImage,這個程序它所要實現(xiàn)在的主要功能是,形成一個輸入的界面,在這個界面里面要實現(xiàn)讓用戶輸入URL,URL里面包含訪問計算機的IP,端口號及所要訪問的播放文件全稱。還有在界面上還形成幾個按鈕比如開始,退出這是由commandAction()來進(jìn)行控制等,它還進(jìn)行控制整個程序的運行,選形成一個等待的界面,然后根據(jù)用戶所輸入的信息進(jìn)行打開URL,再進(jìn)行播放文件的控制等等。
3.播放控制的設(shè)計
它主要是由VideoCanvas繼承Canvas,并有以下幾個方法:VideoCanvas(), initialize(), paint(), time2pix(),open()等方法。它主要實現(xiàn)的功能是:對播放的視頻或音頻文件進(jìn)行一系列的操作比如播放,停止,暫停,增加音量,減小音量。
4.播放文件判斷的設(shè)計
在這里主要是設(shè)計一個單獨的類,名稱為VideoType,它主要先從用戶輸入的URL來分析出用戶輸入的信息,從中分離出輸入的IP地址,端口號以及文件的名稱,再進(jìn)行判別用戶輸入的文件的類型。它里面有以下幾個方法:guessContentType(),splitURL()。
5.網(wǎng)絡(luò)連接等待介面的設(shè)計
這是一個所設(shè)計的一個等待界面,名稱WaitCanvas,它繼承了Canvas類,它主要的功能是:當(dāng)用戶輸入IP地址時,手機在連結(jié)服務(wù)器的時候,可能會有一個過程,所以這個時候出現(xiàn)一個等待界面。它里面有以下幾個方法:WaitCanvas(),void setMessage(),paint()。
四、結(jié)束語
本文研究的重心在于利用流媒體技術(shù)使手機播放器中本地與網(wǎng)絡(luò)(無線)終端MIDP應(yīng)用開發(fā)技術(shù)的解決方法及資源的網(wǎng)絡(luò)通信,信息整合問題。因此在論文中深入研究了J2ME體系結(jié)構(gòu)及其平臺下手機程序MIDP的開發(fā)技術(shù),詳細(xì)分析了本地終端與無線終端和資源的通信解決方法,并構(gòu)造了一個手機多媒體播放器系統(tǒng),通過該系統(tǒng),完整說明了MIDP應(yīng)用程序開發(fā)的流程控制,界面設(shè)置與流媒體和視頻壓縮技術(shù)。本系統(tǒng)還會不斷的改進(jìn),實現(xiàn)更廣,更新,更實際的功能,以適應(yīng)時代的需求。
參考文獻(xiàn):
[1]吳一丁:J2ME技術(shù)在移動設(shè)備上的應(yīng)用.java研究組織,2005
[2]黃寶雄:流媒體技術(shù).中國多媒體視訊,2005
[3]劉雄武:移動流媒體技術(shù)及其應(yīng)用發(fā)展方向.CSDN,2005.06
[4]王千祥:應(yīng)用服務(wù)器原理與實現(xiàn).電子工業(yè)出版社,2003