国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于J2ME的移動視頻技術(shù)研究

2014-04-23 10:09:08宋國柱
電腦知識與技術(shù) 2014年7期
關(guān)鍵詞:播放器

宋國柱

摘要:基于J2ME體系框架,結(jié)合MMAPI技術(shù),設(shè)計并實現(xiàn)了一個移動媒體播放器。重點闡述了MMAPI技術(shù)及播放器類的設(shè)計。

關(guān)鍵詞:J2ME;MMAPI;視頻技術(shù);播放器

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)07-1556-03

1 概述

隨著移動媒體技術(shù)的發(fā)展,J2ME在手機(jī)、PDA等移動設(shè)備上的到了廣泛的應(yīng)用,目前已成為手機(jī)開發(fā)的主流平臺之一,該文首先介紹了J2ME層次結(jié)構(gòu),MMAPI框架。然后對視頻播放器的功能要求做了分析,搭建開發(fā)平臺,設(shè)計了并實現(xiàn)了一款基于J2ME的移動媒體播放器。

2 技術(shù)分析

2.1 J2ME體系框架概述

J2ME平臺有一系列技術(shù)規(guī)范組成。J2ME主要由配置(configuration)、簡表(profile)和可選包(層)三部分組成。J2ME體系框架結(jié)構(gòu)如圖1所示。

2.2 MMAPI框架分析

移動媒體API(Mobile Media API,MMAPI)是JSR135定義的可選包,處于J2ME體系框架的可選包層。提供了一個功能強(qiáng)大,使用簡單的多媒體框架。開發(fā)人員可以使用這個多媒體框架在移動設(shè)備上處理音頻和視頻數(shù)據(jù)。MMAPI框架有一個管理器、一個數(shù)據(jù)源、一個播放器和若干個控制器組成,其中播放器是MMAPI的核心。他們之間的關(guān)系如圖2所示。

現(xiàn)對MMAPI框架中的各個組件說明如下:(1)數(shù)據(jù)源(DataSource):數(shù)據(jù)源由抽象類javax.microedition.media.protocol.DataSource描述,負(fù)責(zé)把多媒體數(shù)據(jù)從原始位置傳輸?shù)讲シ牌鳌6嗝襟w數(shù)據(jù)可以存儲在各種不同的位置。如文件、遠(yuǎn)程服務(wù)器或者記錄管理系統(tǒng)等。根據(jù)多媒體數(shù)據(jù)的存儲位置,數(shù)據(jù)源采用不同的傳輸協(xié)議。(2)播放器(player):播放器是MMAPI框架的核心,負(fù)責(zé)和解碼數(shù)據(jù)源提供的多媒體數(shù)據(jù),并把解析后的數(shù)據(jù)發(fā)送到輸出設(shè)備的緩沖區(qū)中。Java.microediton.media.Player接口定義了管理器播放器生命周期、控制媒體重放和同步的方法。(3)控制器(Control):控制器負(fù)責(zé)改變播放器的行為。如聲音控制器可以調(diào)整音頻播發(fā)器的聲音大小。(4)管理器(Manager):管理器又javax.microedition.media.Manager類實現(xiàn),負(fù)責(zé)創(chuàng)建播放器和數(shù)據(jù)源。它提供了創(chuàng)建播放器的靜態(tài)方法createPlayer。

2.3 使用MMAPI

視頻播放的基本流程是:首先通過一定的網(wǎng)絡(luò)協(xié)議或本地的位置獲取傳遞來的流數(shù)據(jù),然后將這些流數(shù)據(jù)傳輸給DataSource類進(jìn)行處理,DataSource類將讀取視頻流和音頻流數(shù)據(jù)并將它們提供給Player類,最后由Player類解析和解碼數(shù)據(jù)以及識別媒體數(shù)據(jù)類型和傳送媒體數(shù)據(jù)到相應(yīng)的輸出設(shè)備緩沖中,Player通過同步機(jī)制使用音頻和視頻設(shè)備實現(xiàn)視頻和音頻的播放。

播放器在其生命周期中有5種狀態(tài),圖3描述了播放器的生命周期。播放器被創(chuàng)建成功,此時播放器處于unrealized狀態(tài)。調(diào)用realized()方法初始化數(shù)據(jù)傳輸,當(dāng)從該方法返回時,播放器處于realized狀態(tài)。然后調(diào)用prefetch()方法獲取音頻設(shè)備、視頻設(shè)備等專用資源,直到成功獲取這些資源,播放器進(jìn)入prefetched狀態(tài)。此時播放器就可以調(diào)用start()方法開始播放媒體數(shù)據(jù),播放器進(jìn)入started狀態(tài)。而在任何一種狀態(tài)下,都可以調(diào)用close( )方法使播放器處于closed狀態(tài)。如果播放器unrealized狀態(tài)直接調(diào)用start()方法,系統(tǒng)將自動調(diào)用中間的realized()方法和prefetch()方法。

3 實例應(yīng)用

3.1 設(shè)計要求

設(shè)計一款視頻播放器能夠播放MPEG格式的視頻文件。具體要求如下:(1)當(dāng)用戶選擇“打開視頻文件”選項時,在屏幕上顯示一個文件對話框。在文件對話框中列出了當(dāng)前目錄下所有的子目錄和MPEG格式的視頻文件。用戶可以選擇打開一個視頻文件,也可以選擇進(jìn)入目錄或者上一級目錄。文件對話框第一次顯示時,將列出移動設(shè)備中所有文件系統(tǒng)的根目錄。(2)當(dāng)用戶打開一個視頻文件時,將啟動播放器,在屏幕上播放選擇的視頻文件。在播放視頻的過程中,用戶可以通過屏幕上的命令暫時播放和繼續(xù)播放視頻。用戶還可以通過按下方向鍵改變音。(3)用戶尅停止播放視頻,返回播放器的主菜單,再次打開文件對話框,打開新的視頻文件。

3.2 類設(shè)計

移動視頻播放器共包含4個類和一個接口。一個控制器類MobilPlayerMIDlet;一個視圖類VedioCanvas;一個視頻播放器類VedioPlayer以及一個文件對話框類VedioFileDialog和文件對話框命令的處理接口VedioFileDialogListener。圖4顯示了它們之間的關(guān)系。

1)控制器類MobilPlayerMIDlet:該類是應(yīng)用程序主類,實現(xiàn)了MIDlet的生命周期控制方法。該類實現(xiàn)了PlayerListener接口,能夠監(jiān)視播放器的變化。同時,該類還實現(xiàn)了CommandListener接口,處理播放、暫停等命令。2)播放器類VedioPlayer:該類描述了視頻播放過程。為了避免播放視頻阻塞用戶界面線程,視頻的播放過程在一個線程中完成。

3.3 實例實現(xiàn)

移動視頻播放器在eclispeME+SDK平臺下,采用Sun公司的WTK進(jìn)行模擬,通過實驗達(dá)到了預(yù)期的效果。以下是運行的效果,如圖5所示。

4 結(jié)束語

移動媒體的軟件開發(fā)是當(dāng)前研究的熱點。該文闡述了J2ME的系統(tǒng)架構(gòu),分析了MMAPI框架,采用該技術(shù)設(shè)計實現(xiàn)了一款手機(jī)視頻播放器。通過實驗,取得了預(yù)期的效果。

參考文獻(xiàn):

[1] 盧軍.J2ME移動軟件程序設(shè)計[M].北京:水利水電出版社,2010.

[2] 傅偉.基于J2ME的手機(jī)摜蛋網(wǎng)絡(luò)游戲的研究[J].計算機(jī)應(yīng)用軟件,2013(3).

[3] 黃志宏.基于J2ME的流媒體視頻服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2010,31(19).

[4] 王慶鵑,張星明.基于J2ME的手機(jī)視頻捕獲方法的實現(xiàn)[J].電腦與電信,2009(3):81-83.

[5] 徐成,谷吉芳.基于RTP的流媒體傳輸系統(tǒng)框架研究[J].計算機(jī)工程與應(yīng)用,2009,45(8):76-79.

猜你喜歡
播放器
播放器
Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器設(shè)計
電子制作(2019年9期)2019-05-30 09:41:44
具有強(qiáng)大的4K播放能力 海美迪 Q5 Plus 4K HDR高清播放器
基于Kinect的PPT播放器的設(shè)計
Moon ACE播放器/放大器一體機(jī)
用Lingo編寫Director課件屏幕自適應(yīng)播放器
電子制作(2017年9期)2017-04-17 03:00:56
基于Android的AVS2視頻播放器的設(shè)計與實現(xiàn)
播放器背板注塑模具設(shè)計
中國塑料(2015年8期)2015-10-14 01:10:55
不到200元,也買高清MP4播放器
于都县| 红桥区| 罗源县| 广饶县| 临桂县| 宜川县| 恩施市| 玛纳斯县| 海南省| 巴彦淖尔市| 庄浪县| 顺昌县| 云林县| 赣榆县| 浦江县| 临高县| 文化| 黄冈市| 汝阳县| 浙江省| 乌拉特中旗| 辽阳县| 准格尔旗| 卢龙县| 聂荣县| 广丰县| 喀喇沁旗| 武清区| 阿拉尔市| 读书| 大邑县| 芦溪县| 甘肃省| 武鸣县| 闽清县| 萨嘎县| 绥芬河市| 内乡县| 昆山市| 金门县| 大田县|