崔晉博
摘要:近幾年來,移動通信技術(shù)與互聯(lián)網(wǎng)技術(shù)融合發(fā)展,使得無線通信設(shè)備實現(xiàn)了一個層次的跨越,所以現(xiàn)在的無線通訊設(shè)備,正在趨向于功能多樣化的方向,逐漸發(fā)展。尤其是手機(jī)各項功能的升級和發(fā)展,導(dǎo)致了國內(nèi)很多移動業(yè)務(wù)的增值發(fā)展,同樣,它一旦擁有了廣泛的使用群,也會帶來非常嚴(yán)重的一個問題,那就逐漸開發(fā)平臺的多樣性。這樣才能滿足大多數(shù)客戶的需求,來滿足不同手機(jī)對不同平臺的要求。而平臺的開發(fā),不僅需要花費程序員很多的精力,也是一項極具挑戰(zhàn)性,高難度的系統(tǒng)工程。在這樣的情況背景下,急需要一個統(tǒng)一的跨平臺的新的開發(fā)平臺出現(xiàn),對于Java平臺,首先它本身就是面向網(wǎng)絡(luò)的一個跨平臺特性的平臺,就逐漸成為目前在手機(jī)、平板等嵌入式系統(tǒng)中越來越受歡迎的熱門軟件平臺了。
關(guān)鍵詞:Java;手機(jī)移動多媒體;系統(tǒng)分析
1概述
Java平臺已經(jīng)逐漸被人們所接受,也成了很多手機(jī)平臺的基礎(chǔ)運(yùn)行,這一點從以前的運(yùn)算能力強(qiáng)大的服務(wù)器,然后變成到普通的PC機(jī),最后是尺寸很小的智能卡,就很容易看到Java平臺的用戶優(yōu)勢。Java應(yīng)用已經(jīng)全面實現(xiàn)了廣泛的下載量,并且只要是在互聯(lián)網(wǎng)的環(huán)境下,就能通過精確的搜索,在有網(wǎng)絡(luò)的資源下,就可以對Java平臺進(jìn)行安裝。Sun早期只維護(hù)一套Java的運(yùn)行環(huán)境。因此,Sun將Java運(yùn)行環(huán)境區(qū)分成4大版本,應(yīng)用于一般個人計算機(jī)上的J2SE,應(yīng)用于小型設(shè)備上的J2ME以及應(yīng)用在SmartCard上的Java Card。本文重點基于J2ME上的Java手機(jī)平臺來進(jìn)行多媒體系統(tǒng)的建設(shè)討論。
2國內(nèi)手機(jī)開發(fā)平臺的研究現(xiàn)狀及Java手機(jī)平臺的研究現(xiàn)狀
目前,在我國移動增值業(yè)務(wù)的應(yīng)用開發(fā)平臺主要有:BREW,J2ME和.NET。
BREW應(yīng)用程序平臺。BREW的服務(wù)平臺的安裝以及處理過程,只需要用戶通過運(yùn)營商的許可,支付相關(guān)的一定費用,就可以在互聯(lián)網(wǎng)的條件下,將相關(guān)的應(yīng)用程序安裝到自定義設(shè)備中。另外,由于采用c語言開發(fā)來編譯的BREW應(yīng)用自身下載的環(huán)節(jié)比較大,所以對網(wǎng)絡(luò)環(huán)境來說也是一種限制;另外,由于BREW編程難度較大,這些都在一定程度上限制了BREW的使用和發(fā)展。
對于.NET平臺,主要是用來對操作系統(tǒng)進(jìn)行集成的開發(fā)工具,主要是用來公開和消費XMLWeb服務(wù),通過智能設(shè)備實現(xiàn)個性化的集成Web??傮w來說它由四部分組成:構(gòu)造塊結(jié)構(gòu),.NET框架和VisuM Studio.NET,智能設(shè)備軟件以及服務(wù)器結(jié)構(gòu)。XML Web services主要作用就是通過Internet進(jìn)行有關(guān)信息的共享,對于采用的是哪種設(shè)備,編程語言或者是操作方式關(guān)系都不大。Microsoft.NET平臺提供創(chuàng)建XML Web servic-es,并將這些服務(wù)集成在一起。.NET框架只要提供,程序運(yùn)行的一種整體的環(huán)境,主要用于部署XMLWeb服務(wù)。從根本上講,NET給人們提供了一個技術(shù)的連接點,將技術(shù)和計算機(jī)連接在一起,并不僅僅是一味地限制對計算機(jī)的使用。所以從這方面來說,利用NET,我們可以在第一時間連接到我們首選設(shè)備上的信息。
J2ME是一個網(wǎng)絡(luò)連接性特別強(qiáng)的平臺,在這種平臺上,手機(jī)能夠有較強(qiáng)的兼容性,對各種應(yīng)用程序都有一定的容納性,這也是這套平臺具有的一項核心競爭力。移動設(shè)備能夠通過這個平臺離線運(yùn)行某些運(yùn)行程序。作為Java技術(shù),它能重新定義某些比較小型的移動設(shè)備,并且能根據(jù)具體的需要對于設(shè)備的內(nèi)存和屏幕進(jìn)行一系列的改造和優(yōu)化,達(dá)到最佳的效果。對于平臺所提供的下載的信息,在很大程度上也能用網(wǎng)絡(luò)流量的運(yùn)營商達(dá)成一致的觀點,一方面,便利于本系統(tǒng)的推廣,另一方面也能增加流量運(yùn)營商的收入,創(chuàng)造出巨大的商業(yè)機(jī)會,也能使用戶更好地體驗的網(wǎng)絡(luò)資源的利用。但同時也具有一定的缺點:可能在運(yùn)行速度方面,Java系統(tǒng)的運(yùn)行速度并不具有很強(qiáng)的優(yōu)勢,可能會稍微遜色于其他的一些多媒體運(yùn)行系統(tǒng)。
3基于Java技術(shù)構(gòu)造手機(jī)平臺利用的相關(guān)技術(shù)
在具體的手機(jī)平臺構(gòu)建技術(shù)的選擇上,應(yīng)該重點考慮回調(diào)函數(shù)的具體利用。
在整個信息化平臺上,回調(diào)函數(shù)是一項極其重要的工具。回調(diào)函數(shù)的利用大多數(shù)都是在非人工控制的條件下,對于未知事件發(fā)生而定義的一段函數(shù)。所以,回調(diào)函數(shù)在Windows編程中使用的場合可謂數(shù)不勝數(shù),由此可見回調(diào)函數(shù)在整個信息化系統(tǒng)中的重要性已經(jīng)不言而喻了。在某一個程序進(jìn)行編程時,為了確保程序的穩(wěn)定性,通常程序員都需要實現(xiàn)回調(diào)。程序員在進(jìn)行編程時,需要對于某個函數(shù)進(jìn)行利用,就可以通過函數(shù)的具體地址,來對相關(guān)的函數(shù)進(jìn)行調(diào)回處理,在整個過程中,同時還可以完成一定消息的處理操作。另外,在對于函數(shù)有不同需求的情況下,程序員還可以通過不同回調(diào)函數(shù)的模型,選擇恰當(dāng)?shù)暮瘮?shù)來進(jìn)行相關(guān)編程??傊畬τ诨卣{(diào)函數(shù)的利用,可以在很大程度上改變原來單一函數(shù)處理的弊端,更能夠在相關(guān)的變成中節(jié)省編程員的時間,達(dá)到高效編程。同時利用好回調(diào)函數(shù)還可以在模塊與模塊之間進(jìn)行更好的連接,通常是在這個模塊中存儲另一個核心模塊的信息以及技術(shù),這樣還有利于程序的安全性保護(hù)。在具體利用時,再通過回調(diào)函數(shù)傳過來的地址,在進(jìn)行相關(guān)模塊之間的拼湊,完成一個完整的程序。但是在具體的利用回調(diào)技術(shù)時,大多數(shù)情況下都會存在各種意外,尤其是許多廠家提供的解碼庫接口有問題,導(dǎo)致了運(yùn)行的停止。在具體的情況下。如果廠商并沒有提供一個接口能使Ja_va層得知媒體播放完畢,即Java層不能控制循環(huán)播放,那樣,使得手機(jī)平臺對于多媒體功能的控制喪失了一定的嚴(yán)謹(jǐn)性。這個時候,我們就應(yīng)該聯(lián)系到回調(diào)函數(shù)這種技術(shù)。將一個人口函數(shù)移植在KNI層為底層,只要在相關(guān)停止指令下達(dá)的情況下,就可以調(diào)用提供的回調(diào)函數(shù)人口,并且產(chǎn)生相關(guān)的字節(jié),進(jìn)一步通知Java層,停止多媒體的播放,Java如果收到了,重新播放的指令,就重新調(diào)用start方法進(jìn)行播放,這樣就可以簡單的實現(xiàn)多媒體功能中的循環(huán)播放。
4基于JAVA手機(jī)平臺的移動多媒體系統(tǒng)分析
1)對于具體的系統(tǒng)運(yùn)行的要求分析
要想成功運(yùn)行一個系統(tǒng),就要做好針對系統(tǒng)所獲得的具體功能,進(jìn)一步對于系統(tǒng)的功能需求做出分析,Java運(yùn)行系統(tǒng)應(yīng)用就應(yīng)該有以下的具體要求。
首先要有具體的應(yīng)用管理系統(tǒng),來控制Java應(yīng)用的下載,更新以及安裝,顯示以及執(zhí)行和刪除。移動設(shè)備信息的具體描述,對于手機(jī)上運(yùn)行的Java系統(tǒng)進(jìn)行相關(guān)的描述,并且說明程序的生命周期,為方便手機(jī)的運(yùn)行提供優(yōu)化的執(zhí)行環(huán)境。無線信息應(yīng)用接口,這是J2ME規(guī)范的可選包,提供無線通訊的標(biāo)準(zhǔn)儲存,例如信息的相關(guān)調(diào)控。移動媒體的相關(guān)應(yīng)用接口,這種接口的應(yīng)用就太普遍了,主要負(fù)責(zé)播放以及控制媒體的具體數(shù)據(jù)。要做好具體的文件鏈接。文件鏈接我就是為J2ME設(shè)備提供移動設(shè)備的文件系統(tǒng),使用這些來主要滿足用戶對于文件的要求,便于用戶儲存以及管理文件,值得一提的就是應(yīng)該包括現(xiàn)在比較普遍的支持外部存儲卡。個人的信息管理。做好用戶個人的信息管理,方便用戶在手機(jī)不同的運(yùn)行環(huán)境下,仍然能夠準(zhǔn)確地獲取到曾經(jīng)離線的具體信息,被存儲的信息簡單的就應(yīng)該包括日志,播放記錄,以及工作列表。利用3D技術(shù)。為了能夠更提供更為有效,更為靈活的方法來顯示生動的3D圖像,所以非常有必要在具體的多媒體系統(tǒng)中添加一定的3D技術(shù),來完成屏幕保護(hù),給用戶帶來一定的視覺享受,來增強(qiáng)系統(tǒng)的競爭力。數(shù)字版權(quán)管理模塊,雖然在這一模塊,看似沒什么可利用價值,但是卻是必不可少的一部分,版權(quán)管理模塊的加人可以防止一些高品質(zhì)的Java應(yīng)用出現(xiàn)一些盜版的現(xiàn)象。
2)移動多媒體總體的設(shè)計
針對以上對于一個多媒體系統(tǒng)的具體需求分析,我們就可以具體針對這些需求從而做出正確的系統(tǒng)來滿足以上的具體系統(tǒng)的需求。在基于Java運(yùn)行的環(huán)境下,系統(tǒng)應(yīng)該分成四層。有具體的應(yīng)用層,Java層,KNI層以及移植層。應(yīng)用層:應(yīng)用層指的是由應(yīng)用開發(fā)商編寫的J2ME應(yīng)用程序,主要是調(diào)用
Java層中提供的接口,實現(xiàn)媒體播放的功能。Java層是整個多媒體播放系統(tǒng)中最重要的環(huán)節(jié),所有的源文件都在這里進(jìn)行解碼,并且不時地有Java層對于屏幕進(jìn)行刷新,保證整個播放過程的持續(xù)。
KNI層:由于本課題的功能實現(xiàn)有些依賴于底層也就是廠商去實現(xiàn)。KNI層主要實現(xiàn)Java層到c層的轉(zhuǎn)換,數(shù)據(jù)的傳輸。
移植層:實現(xiàn)Java層不能實現(xiàn)的部分,對于本課題而言,主要是解碼部。
而在這四層中,主要的媒體播放需求都集中在主要的Java層,而Java層主要分為一下幾個板塊:管理模塊,播放模塊,媒體數(shù)據(jù)獲取模塊,控制模塊,事件的處理模塊,以及異常模塊。每個模塊都有具體的針對性作用。首先管理模塊,是用來創(chuàng)建播放流程的控制過程,并且能和媒體數(shù)據(jù)模塊獲取相關(guān)的數(shù)據(jù),獲得相關(guān)的正確文件格式。播放模塊的功能就比較實際,主要對多媒體播放的流程進(jìn)行控制,通過暫停,重復(fù),播放等等一系列功能。數(shù)據(jù)獲取模塊則根據(jù)相關(guān)的多媒體協(xié)議,取得有權(quán)限的媒體數(shù)據(jù),并且保存成文字或者字符,傳送給播放模塊,進(jìn)行解碼,完成播放過程??刂颇K的功能內(nèi)容就更加詳細(xì)了,它需要做好對于每一個模板的控制,以及各種播放插件的控制,確保能夠做好完整的播放環(huán)節(jié)。事件處理模塊也是非常重要的一個內(nèi)容,當(dāng)系統(tǒng)運(yùn)行存在一些問題時,通過系統(tǒng)內(nèi)部安插的回調(diào)函數(shù),再向Java層發(fā)送事件,Java層的竊聽器,當(dāng)接受到播放完畢的事件之后,就開始重新播放,如此做到循環(huán)。通過這些板塊內(nèi)容之間的配合,能夠做好整個多媒體的正常運(yùn)行。
3)管理模塊的設(shè)計
管理模塊Manager,這里為實現(xiàn)對DataSource和Plaer有效管理,使用了工廠機(jī)制,由Manager來負(fù)責(zé)創(chuàng)建Player和Data-Source。Manager類描述的媒體API在javax.microedition.media.*包里。這些跨平臺的API包括了絕大多數(shù)java平臺接口以及一個實現(xiàn)類Manager。
管理模塊Manager主要用來創(chuàng)建Player和DataSouree。根據(jù)分析,為了實現(xiàn)多媒體的播放,需要創(chuàng)建一個Player用來控制播放和DataSource用來取得數(shù)據(jù)的,所以,在Manager中并沒有聲明一個Public方法創(chuàng)建DataSource,而是在創(chuàng)建Player的過程中,創(chuàng)建了DataSource同時,還提供了獲得支持的媒體和媒體協(xié)議類型的接口,可以通過這兩個接口,可以判斷是否支持當(dāng)前媒體的播放,還有直接播放單音Tone的接口。
4)播放模塊的設(shè)計
播放模塊的主要功能就是在player當(dāng)中對其中的媒體數(shù)據(jù)進(jìn)行處理。在數(shù)據(jù)源當(dāng)中對所需要的媒體數(shù)據(jù)進(jìn)行處理和分析。在player進(jìn)行設(shè)置的過程當(dāng)中會設(shè)計一個狀態(tài)的變量對對象的狀態(tài)進(jìn)行實時的控制,每一次的調(diào)整都會改變它對象的狀態(tài),這樣我們在對媒體數(shù)據(jù)流進(jìn)行控制時,就要注意其所對應(yīng)的player是否在狀態(tài)上進(jìn)行了一定程度上的改變。在整個多媒體系統(tǒng)中,對于整個播放模塊的要求非常高。也可以這樣說,整個系統(tǒng)中,播放模塊的作用是整個系統(tǒng)的核心。在播放模塊中,要做好以下幾個關(guān)鍵性功能,比如,播放鍵和停止功能,在此基礎(chǔ)上,還需要添加一些具體的功能,上一曲下一曲功能的添加,更加細(xì)致的要還要添加一些音量的調(diào)節(jié),為了實現(xiàn)對播放模塊的整體的控制和管理,還要對這些添加的功能設(shè)計出與之相對應(yīng)的接口。整個播放模塊應(yīng)該以這些內(nèi)容為基礎(chǔ),構(gòu)建整個播放模塊功能的實現(xiàn)。
5)獲取數(shù)據(jù)模塊的設(shè)計
獲取數(shù)據(jù)模塊的含義指的就是在進(jìn)行數(shù)據(jù)的傳送時使用數(shù)據(jù)源這種傳遞方式。由于在每一個層次結(jié)構(gòu)當(dāng)中計算機(jī)都會相應(yīng)規(guī)定一個層次協(xié)議,在第一層層次結(jié)構(gòu)中就叫做第一層協(xié)議,在第n層層次結(jié)構(gòu)中就叫做第n層層次協(xié)議。簡單來說就是使用數(shù)據(jù)源來進(jìn)行每一層層次協(xié)議的傳遞。獲取數(shù)據(jù)模塊的數(shù)據(jù)源具有很強(qiáng)的智能性,它能夠通過對數(shù)據(jù)庫的尋找來進(jìn)行初始數(shù)據(jù)模塊的獲取,并將之轉(zhuǎn)送給相關(guān)數(shù)據(jù)的處理器當(dāng)中,使其進(jìn)行系統(tǒng)化的處理。當(dāng)媒體播放對象進(jìn)行建立之后,數(shù)據(jù)模塊就可以存儲在媒體播放對象之中的任意一個位置。同時,初始的媒體數(shù)據(jù)可以通過超文本傳輸協(xié)議的方式,在此基礎(chǔ)之上,使用實時傳輸協(xié)議進(jìn)行協(xié)議之間的相互傳送。當(dāng)然,這種傳輸方式并不是進(jìn)行定性的,我們也可以使用其他的數(shù)據(jù)傳遞方式來將媒體數(shù)據(jù)導(dǎo)人數(shù)據(jù)處理器當(dāng)中。在進(jìn)行媒體數(shù)據(jù)的傳送時,我們使用的是數(shù)據(jù)源。在此基礎(chǔ)上,我們對更多的數(shù)據(jù)進(jìn)行連接,以此來達(dá)到獲取媒體數(shù)據(jù)的目的。為了媒體數(shù)據(jù)進(jìn)行更好的傳遞,因此設(shè)計了許多的接口,以保證功能單一化的實現(xiàn),避免系統(tǒng)因此造成數(shù)據(jù)傳遞錯誤的情況發(fā)生。
6)控制模塊的設(shè)計
多媒體系統(tǒng)當(dāng)中類的形式內(nèi)容十分多樣,而控制模塊類則是構(gòu)成所有類當(dāng)中最基本的類,由此可見控制模塊的重要性。在上文中我們曾經(jīng)提過為進(jìn)行媒體數(shù)據(jù)的更好傳遞,設(shè)計出許多的接口,而控制模塊就屬于接口的范疇之中。而控制模塊功能主要是由音調(diào)控制器、碼率的控制、視頻控制器、架構(gòu)位置器、時間停止控制器來進(jìn)行實現(xiàn)的。在player當(dāng)中,其主要的功能設(shè)計范圍也很廣闊,他可以調(diào)節(jié)音量的大小,視頻清晰度以及開始和結(jié)束的時間。下面我們將結(jié)合幾個具體的控制器進(jìn)行詳細(xì)的介紹。FramePositionControl其主要的功能就是尋找到當(dāng)前的媒體時間,并將對應(yīng)當(dāng)時的時間,檢測到對應(yīng)幀數(shù)值,進(jìn)行幀數(shù)的轉(zhuǎn)化。RateControl主要作用就是檢測當(dāng)前的播放率以及接口所對應(yīng)的播放率,并對其進(jìn)行實時監(jiān)控和管理。
5移動多媒體系統(tǒng)的實現(xiàn)分析
通過以上分析,對于Java系統(tǒng)進(jìn)行了相關(guān)的設(shè)計處理之后,從理論到產(chǎn)品,還需要進(jìn)一步的處理。也就是對整個多媒體系統(tǒng)的具體實現(xiàn),以及制造出相應(yīng)產(chǎn)品之后的具體檢測工作,就充分地做好了,新產(chǎn)品的檢驗工作,才能在一定程度上發(fā)現(xiàn)以Java為基礎(chǔ)平臺的多媒體軟件具體的不恰當(dāng)之處,并且針對具體的環(huán)節(jié),進(jìn)行針對性的修改,達(dá)到真正意義上,多媒體的軟件的實現(xiàn)。
1)移動多媒體系統(tǒng)的實現(xiàn)
管理模塊的實現(xiàn),在創(chuàng)造管理模塊時,應(yīng)當(dāng)遵循以下的程序過程,首先對于數(shù)據(jù)的接受,先判斷接受的數(shù)據(jù)是否為空的文件。如果所接受的是空的數(shù)據(jù)包,那么就表示系統(tǒng)在運(yùn)行過程中,某些地方出現(xiàn)了問題,所以,立馬拋出數(shù)據(jù),并且退出系統(tǒng),停止播放。若果,數(shù)據(jù)包不是空的,系統(tǒng)的運(yùn)行就正常,則要通過具體多媒體協(xié)議來創(chuàng)建具體的文件,如果文件沒有具體的協(xié)議來保障相應(yīng)的版權(quán),那么也不能夠進(jìn)行正確的播放,此時,也會退出程序,相反,有具體的協(xié)議支持文件,則能創(chuàng)建相關(guān)的播放列表,才能對具體的多媒體進(jìn)行播放。播放板塊的實現(xiàn),播放板塊首先對于接受到的數(shù)據(jù)或者字符進(jìn)行一系列的改碼過程,并且協(xié)調(diào)外部環(huán)境的控制,在具體的情況下,針對相應(yīng)的多媒體文件進(jìn)行解讀。同時,還要編制好相應(yīng)的程序來控制播放過程中對于多媒體文件的“上一個”,“下一個”,“暫?!?,“播放”做好調(diào)控。控制板塊的實現(xiàn),控制模板主要實現(xiàn)在播放過程中對于文件的一系列控制。主要控制的對象包括音量,播放時間,分辨率等,這些控制類在播放類過程中應(yīng)該被提前創(chuàng)建,應(yīng)用層在播放類實際中,通過相關(guān)的調(diào)試來對播放的進(jìn)程進(jìn)行控制。
2)搶屏算法的實現(xiàn)
一個好的多媒體軟件,應(yīng)該充分的避免閃屏現(xiàn)象的出現(xiàn)。首先閃屏現(xiàn)象會很大的影響整個多媒體帶給用戶的整體印象,其次,也會導(dǎo)致許多播放程序的崩潰。所以在整個系統(tǒng)的設(shè)計過程中,就要處理好,閃屏現(xiàn)象的問題。在Java系統(tǒng)中,由于處于底層的軟件模塊,是單獨分開的,所以可能導(dǎo)致在不同情況下屏幕,分別進(jìn)行不同時的刷新,如果不同的模塊刷新的結(jié)果不相同,這樣就會導(dǎo)致閃屏現(xiàn)象的出現(xiàn)。在平臺中,Java層主要側(cè)重于體現(xiàn)輪廓和背景方面的內(nèi)容,與它相反的解碼層則主要是負(fù)責(zé)播放的視頻內(nèi)容,閃屏現(xiàn)象之所以會出現(xiàn),就與這兩個層面的刷新,結(jié)果有很大的關(guān)聯(lián)。主要的原因就是由于兩個前面在不同時間段進(jìn)行屏幕的刷新,導(dǎo)致,他們獲取結(jié)果的時間存在間隔,所以就會出現(xiàn)閃屏現(xiàn)象。而要想真正的解決閃屏現(xiàn)象的問題,就需要對兩個層面刷新的方式以及刷新的時間段進(jìn)行一個嚴(yán)格的統(tǒng)一。而這些,就要借助于Java模塊來,將二者進(jìn)行集中管理。具體研究的結(jié)果顯示,通過這種方法,可以在一定程度上,避免閃屏現(xiàn)象的發(fā)生,但是同樣新的缺點又暴露出來了,就是視頻刷新的速度會比以往有明顯的降低,并且,在具體的播放過程中,相關(guān)的視頻會出現(xiàn)斷斷續(xù)續(xù)的情況。而針對這個閃屏現(xiàn)象,通過進(jìn)一步的研究發(fā)現(xiàn),具體的,避免閃屏現(xiàn)象的發(fā)生,則需要通過區(qū)域的,一個相加減的算法來實現(xiàn)。而做到這一點,就需要先找到底層解碼部分的刷新區(qū)域,而另一個區(qū)域就是Java的刷新區(qū),并且通過一個有效的算法,精確地找到兩個部分的重疊區(qū)域,最后就可以通過簡單的處理,將重疊區(qū)域的某一個部分進(jìn)行舍棄,就能夠達(dá)到徹底解決閃屏問題的結(jié)果。
3)針對應(yīng)用進(jìn)行測試
對于已經(jīng)編輯好的簡單多媒體系統(tǒng),在進(jìn)行使用之前,還需要經(jīng)過測試的重要環(huán)節(jié)。將編輯出來的多媒體系統(tǒng)的播放效果,播放音效,和接口是否靈敏進(jìn)行一個簡單的檢測。雖然檢測方法比較簡陋,但是,可以通過具體的播放效果來檢測我們系統(tǒng)制作的情況。下面簡單介紹一下具體的檢測過程。
首先,我們將多媒體的,播放界面調(diào)整到正在播放的狀態(tài),并且設(shè)置好了,對應(yīng)的播放音量以及播放率。也就是讓整個多媒體系統(tǒng)處于正在運(yùn)行的狀態(tài),然后再逐步的,對不同按鍵進(jìn)行一對一檢測,排除按鍵失靈的問題。比如在播放的環(huán)境下,按返回鍵,看看播放界面是否退回到上一層,或者,通過音量調(diào)節(jié)鍵,對音量進(jìn)行加減的處理,來判斷多媒體的音量設(shè)置鍵是否存在問題。同樣,還可以的播放時間進(jìn)行相關(guān)的設(shè)置,比如先設(shè)定一個具體的比較簡短的播放時間,通過實驗,到達(dá)指定的停止播放時間,整個多媒體系統(tǒng)是否仍然停留在播放狀態(tài)來判斷時間設(shè)定環(huán)節(jié)的有效性。最重要的還是主界面的菜單設(shè)置,而對于菜單,至少應(yīng)該具有以下幾個功能,快進(jìn),或者回退,重新播放,選擇播放的具體文件,播放的有關(guān)音效等等一系列功能。
如果通過測試,我們發(fā)現(xiàn),多媒體的功能和按鍵的功能是一致的,那么在按鍵的制作功能上,就已經(jīng)成功了,只要系統(tǒng)不會出現(xiàn)一些程序崩潰的問題,那么就表示我們制作的多媒體系統(tǒng)可以正常使用。
6總結(jié)
根據(jù)以上的介紹和分析,我們有理由相信,Java平臺的多媒體系統(tǒng)具有很強(qiáng)的操作性。在如今的手機(jī)平臺中,利用Java制作多媒體手機(jī)平臺的還不是很常見,相信基于Java平臺打造出來的多媒體應(yīng)用系統(tǒng)能夠進(jìn)一步促進(jìn)多媒體技術(shù)的新發(fā)展,能夠在市場中取得更大的市場。