欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

播放Java軟件運行時產(chǎn)生的聲音的方法、系統(tǒng)和裝置的制作方法

文檔序號:6469788閱讀:150來源:國知局
專利名稱:播放Java軟件運行時產(chǎn)生的聲音的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式技術(shù)領(lǐng)域,特別涉及一種播放Java運行時產(chǎn)生的聲音的 方法、系統(tǒng)和裝置。
背景技術(shù)
目前Java軟件已經(jīng)在各個領(lǐng)域得到了廣泛的應(yīng)用,尤其是無線移動終端領(lǐng) 域,全球大多數(shù)移動運營商已經(jīng)推出了 Java下載服務(wù)。無線手持設(shè)備市場對 Java產(chǎn)生了巨大的需求增長,目前幾乎所有移動終端都支持Java。
逐漸擴大的消費群體,使得運營商、內(nèi)容提供商以及移動終端制造商都強 烈渴望Java性能更加強勁,支持更多更復(fù)雜的應(yīng)用,為用戶帶來更豐富多彩的 增值應(yīng)用,滿足各種各樣的信息需求。
目前,播放Java運行時產(chǎn)生的聲音方法包括
Java虛擬機將需要播放的多個聲音文件發(fā)給移植層;移植層將收到的多個 聲音文件存儲到文件系統(tǒng)中;移植層在收到Java虛擬機發(fā)送的文件標(biāo)識后,確 定該文件標(biāo)識對應(yīng)的聲音文件的文件信息,并將該聲音文件信息存儲到內(nèi)存 中;移植層將該文件標(biāo)識發(fā)送給播放層;播放層根據(jù)該文件標(biāo)識從內(nèi)存中讀取 對應(yīng)的文件信息;播放層根據(jù)文件信息從文件系統(tǒng)中讀取對應(yīng)的聲音文件,并 播放。
這種方式在每次纟番放聲音時,移植層都需要確定該文件標(biāo)識對應(yīng)的聲音文 件的文件信息,并將該聲音文件信息存儲到內(nèi)存中,并且播放層需要從文件系 統(tǒng)中讀取對應(yīng)的聲音文件,這樣就增加了播放文件的準(zhǔn)備時間,從而增加了播 放聲音的延時。
如現(xiàn)在很多Java軟件運行時,會在短時間內(nèi)播;故多個聲音文件,比如動作
類游戲,這時就要求播放聲音的延時盡可能小,但是目前播放聲音的方式顯然 很難滿足上述的情況。
綜上所述,目前播放Java軟件運行產(chǎn)生的聲音時,時延很嚴重,很難滿足 在短時間內(nèi)播放多個聲音文件的Java軟件的要求。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種播放Java運行時產(chǎn)生的聲音的方法、系統(tǒng)和裝置,
用以解決現(xiàn)有技術(shù)中存在的播放Java軟件運行產(chǎn)生的聲音時,時延很嚴重,很
難滿足在短時間內(nèi)播放多個聲音文件的Java軟件要求的問題。
本發(fā)明實施例提供的一種播放Java運行時產(chǎn)生的聲音的方法包括 移植層在收到來自Java虛擬機的聲音文件后,生成每個聲音文件的聲音文
件信息,所述聲音文件信息包括聲音文件標(biāo)識和播放參數(shù);
所述移植層將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播放層; 所述播;改層根據(jù)所述聲音文件標(biāo)識查找對應(yīng)的所述聲音文件信息,并才艮據(jù)
查找到的所述聲音文件信息中的所述播放參數(shù),播放對應(yīng)的所述聲音文件。 本發(fā)明實施例才是供的一種播放Java運行時產(chǎn)生的聲音的系統(tǒng)包括 移植器,用于在收到來自Java虛擬機的聲音文件后,生成每個聲音文件的
聲音文件信息,將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播放器,所
述聲音文件信息包括聲音文件標(biāo)識和播放參數(shù);
播放器,用于根據(jù)所述聲音文件標(biāo)識查找對應(yīng)的所述聲音文件信息,并根
據(jù)查找到的所述聲音文件信息中的所述播放參數(shù),播放對應(yīng)的所述聲音文件。 本發(fā)明實施例提供的一種移植器包括
生成模塊,用于在收到來自Java虛擬機的聲音文件后,生成每個聲音文件 的聲音文件信息;
第一發(fā)送模塊,用于將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播 放器。本發(fā)明實施例移植層在收到來自Java虛擬機的聲音文件后,生成每個聲音 文件的聲音文件信息,所述聲音文件信息包括聲音文件標(biāo)識和播放參數(shù);所述 移植層將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播放層;所述播放層 根據(jù)所述聲音文件標(biāo)識查找對應(yīng)的所述聲音文件信息,并根據(jù)查找到的所述聲 音文件信息中的所述播放參數(shù),播放對應(yīng)的所述聲音文件。由于不需要在每次 播放聲音時,都需要確定該文件標(biāo)識對應(yīng)的聲音文件的文件信息,并將該聲音 文件信息存儲到內(nèi)存中,并且可以直接從內(nèi)存中讀取對應(yīng)的聲音文件,從而減 小了播放聲音的時延,能夠滿足在短時間內(nèi)播放多個聲音文件的Java軟件的要 求,并且對于用戶操作或屏幕顯示相協(xié)調(diào)的聲音播放,同樣可以縮短播放時間, 從而提高用戶使用體驗。


圖1為本發(fā)明實施例播放Java運行時產(chǎn)生的聲音的系統(tǒng)結(jié)構(gòu)示意圖; 圖2為本發(fā)明實施例移植器的結(jié)構(gòu)示意圖3為本發(fā)明實施例播放Java運行時產(chǎn)生的聲音的方法流程示意圖。
具體實施例方式
由于Java虛擬機在發(fā)送聲音文件時,并不是馬上要播放這些聲音文件,而 是按照設(shè)定的選取條件,將可能播放的聲音文件發(fā)送給移植層,本發(fā)明實施例 的移植層在收到聲音文件后,生成每個聲音文件的聲音文件信息,不需要在每 次播放聲音文件時,再生成聲音文件信息,從而加快了播放聲音文件的速度, 減小了播放聲音的時延。
其中,選取條件與Java的實現(xiàn)策略有關(guān),比如可以是設(shè)定的選取數(shù)量; 如果是游戲,也可以是一關(guān)游戲中需要的聲音文件;如果java應(yīng)用中用到的聲 音文件較少時,可以選擇所有的聲音文件。
下面結(jié)合說明書附圖對本發(fā)明實施例作進一步詳細描述。
如圖l所示,本發(fā)明實施例播放Java運行時產(chǎn)生的聲音的系統(tǒng)包括移植 器10和播放器20。
移植器10,用于在收到來自Java虛擬機的聲音文件后,生成每個聲音文 件的聲音文件信息,在收到來自所述Java虛擬^L的聲音文件標(biāo)識后,將該聲音 文件標(biāo)識發(fā)送給播放器。
其中,聲音文件信息包括聲音文件標(biāo)識和^番;故參數(shù)。
播放參數(shù)包括聲音文件格式、聲音文件容量和聲音文件解碼參數(shù)。
播放器20,用于根據(jù)來自移植器10的聲音文件標(biāo)識查找對應(yīng)的聲音文件 信息,并根據(jù)查找到的聲音文件信息中的播放參數(shù),播放對應(yīng)的聲音文件。
具體的,播放器20從移植器10生成的聲音文件信息中查找與收到的聲音 文件標(biāo)識相同的聲音文件信息和該聲音文件標(biāo)識對應(yīng)的聲音文件;根據(jù)聲音文 件信息中的播放參數(shù),對聲音文件進行解碼,并播放。
在具體實施過程中,移植器10可以將收到的每個聲音文件和生成的每個 聲音文件信息存儲到聲音緩沖器中;相應(yīng)的,播放器20從聲音緩沖器中查找 聲音文件信息和對應(yīng)的聲音文件。
如果聲音緩沖器受到其容量限制,不能存儲所有聲音文件和聲音文件信 息,則移植器10將所有聲音文件信息和部分聲音文件存儲到聲音緩沖器中, 將其余部分聲音文件存儲到播放器20能夠連接的其他存儲器中;相應(yīng)的,播 放器20如果不能從聲音緩沖器找到對應(yīng)的聲音文件,則查找其他存儲器。
還有一種方式是4番;改器20將聲音緩沖器中的聲音文件信息和聲音文件存 儲到內(nèi)存中;相應(yīng)的,播放器20從內(nèi)存中查找聲音文件信息和對應(yīng)的聲音文 件。
其中,聲音文件標(biāo)識可以是數(shù)字,則移植器IO在收到來自Java虛擬機的 聲音文件后,為收到的每個聲音文件分配一個數(shù)字,且分配的每個數(shù)字不同。 進一步的,移植器IO還可以將數(shù)字替換為聲音文件的文件名。 比如聲音文件的文件名為SADF.mid,為該聲音文件分配的數(shù)字為1,則
可以修改聲音文件的文件名為l.mid。
移植器10還可以將分配的所述數(shù)字和對應(yīng)的聲音文件的文件名發(fā)送給 Java虛擬機,則本發(fā)明實施例播放Java運行時產(chǎn)生的聲音的系統(tǒng)還可以進一步 包括Java虛擬才幾30。
Java虛擬機30,用于根據(jù)收到的數(shù)字和對應(yīng)的聲音文件的文件名,確定需 要播放的聲音文件的文件名對應(yīng)的數(shù)字,并發(fā)送給移植器10。
相應(yīng)的,移植器10將收到的數(shù)字發(fā)送給播放器20。
則播放器20從聲音文件信息中查找包含與收到的數(shù)字相同的數(shù)字的聲音 文件信息以及用該數(shù)字為文件名的聲音文件;根據(jù)聲音文件信息中的播放參 數(shù),對聲音文件進行解碼,并播放。
如圖2所示,本發(fā)明實施例移植器包括生成模塊IOO和第一發(fā)送模塊110。
生成模塊IOO,用于在收到來自Java虛擬機的聲音文件后,生成每個聲音 文件的聲音文件信息。
其中,生成模塊IOO還可以進一步包括分配模塊1000、參數(shù)模塊1010 和封裝模塊1020。
分配模塊1000,用于在收到來自Java虛擬機的聲音文件后,為收到的每 個聲音文件分配一個數(shù)字,且分配的每個數(shù)字不同,并將分配的數(shù)字作為聲音 文件標(biāo)識。
比如收到兩個聲音文件,則可以分別為兩個聲音文件分配1和2兩個數(shù)字。
參數(shù)模塊1010,用于根據(jù)聲音文件生成對應(yīng)的播放參數(shù)。
封裝模塊1020,用于將同一聲音文件對應(yīng)的聲音文件標(biāo)識和播放參數(shù)置于
一個所述聲音文件信息中。
第一發(fā)送模塊110,用于將收到來自Java虛擬機的聲音文件標(biāo)識發(fā)送給播放器。
其中,本發(fā)明實施例移植器還可以進一步包括第二發(fā)送模塊120。
第二發(fā)送模塊120,用于將分配模塊1000分配的數(shù)字和對應(yīng)的聲音文件的 文件名發(fā)送給Java虛擬才幾。
在具體實施過程中,第二發(fā)送模塊120可以建立數(shù)字和聲音文件的文件名 的對應(yīng)關(guān)系,將該對應(yīng)關(guān)系發(fā)送給Java虛擬機。
如圖3所示,本發(fā)明實施例播放Java運行時產(chǎn)生的聲音的方法包括下列步

步驟300、移植層在收到來自Java虛擬機的聲音文件后,生成每個聲音文 件的聲音文件信息。
聲音文件信息包括聲音文件標(biāo)識和播放參數(shù)。
播放參數(shù)包括聲音文件格式、聲音文件容量和聲音文件解碼參數(shù)。
其中,聲音文件標(biāo)識可以是數(shù)字,則步驟300中,生成每個聲音文件的聲 音文件信息還可以進一步包括
步驟a300、移植層為收到的每個聲音文件分配一個數(shù)字,且分配的每個數(shù) 字不同,并將分配的數(shù)字作為所述聲音文件標(biāo)識。
比如收到兩個聲音文件,則可以分別為兩個聲音文件分配1和2兩個數(shù)字。
步驟b300、移植層根據(jù)聲音文件生成對應(yīng)的播放參數(shù)。
步驟c300、移植層將同一聲音文件對應(yīng)的所述聲音文件標(biāo)識和所述播;汰參
數(shù)置于一個所述聲音文件信息中。
需要說明的是,步驟a300和步驟b300沒有固定順序,也就是說,即可以
先執(zhí)行步驟a300,再執(zhí)行步驟b300;還可以先4丸行步驟b300,再執(zhí)行步驟a300。 進一步的,移植層還可以將數(shù)字替換為聲音文件的文件名。 比如聲音文件的文件名為SADF.mid,為該聲音文件分配的數(shù)字為1,則
可以修改聲音文件的文件名為l.mid。
步驟301、移植層在收到來自Java虛擬機的聲音文件標(biāo)識后,將該聲音文
件標(biāo)識發(fā)送給播放層。
步驟302、播放層根據(jù)收到的來自移植層的聲音文件標(biāo)識查找對應(yīng)的聲音 文件信息,并根據(jù)查找到的聲音文件信息中的播放參數(shù),播放對應(yīng)的聲音文件。
具體的,播放層從移植層生成的聲音文件信息中查找與收到的聲音文件標(biāo) 識相同的聲音文件信息和該聲音文件標(biāo)識對應(yīng)的聲音文件;#>據(jù)聲音文件信息 中的播放參數(shù),對聲音文件進行解碼,并播放。
其中,步驟300和步驟301之間還可以進一步包括
移植層將收到的每個聲音文件和生成的每個聲音文件信息存儲到聲音緩 沖器中,則步驟302中,播放器20從聲音緩沖器中查找聲音文件信息和對應(yīng) 的聲音文件。
如果聲音緩沖器受到其容量限制,不能存儲所有聲音文件和聲音文件信 息,則移植層將所有聲音文件信息和部分聲音文件存儲到聲音緩沖器中,將其 余部分聲音文件存儲到播放層能夠連接的其他存儲器中;相應(yīng)的,播放層如果
不能從聲音緩沖器找到對應(yīng)的聲音文件,則查找其他存儲器。
其中,聲音文件標(biāo)識可以是數(shù)字,則移植器IO在收到來自Java虛擬機的
聲音文件后,為收到的每個聲音文件分配一個數(shù)字,且分配的每個數(shù)字不同,
并且移植器10還可以生成聲音文件的文件名和數(shù)字的對應(yīng)關(guān)系,進一步的,
移植器10還可以將數(shù)字替換為聲音文件的文件名。
其中,步驟300和步驟301之間還可以進一步包括
步驟Sl、移植層將分配的數(shù)字和對應(yīng)的聲音文件的文件名發(fā)送給Java虛擬機。
在具體實施過程中,移植層可以建立數(shù)字和聲音文件的文件名的對應(yīng)關(guān) 系,將該對應(yīng)關(guān)系發(fā)送給Java虛擬機。
步驟S2、 Java虛擬機根據(jù)收到的數(shù)字和對應(yīng)的聲音文件的文件名,確定 需要播放的聲音文件的文件名對應(yīng)的數(shù)字,并發(fā)送確定的數(shù)字。
則步驟301中,移植層將收到的數(shù)字發(fā)送給播放層。步驟302中,播放層 從聲音文件信息中查找包含與收到的數(shù)字相同的數(shù)字的聲音文件信息以及用
該數(shù)字為文件名的聲音文件;根據(jù)聲音文件信息中的播放參數(shù),對聲音文件進 行解碼,并播放。
本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,可選地,它們可以用 計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計 算裝置來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
從上述實施例中可以看出本發(fā)明實施例移植層在收到來自Java虛擬機的 聲音文件后,生成每個聲音文件的聲音文件信息,所述聲音文件信息包括聲音 文件標(biāo)識和播放參數(shù);所述移植層將收到來自所述Java虛擬機的聲音文件標(biāo)識 發(fā)送給播放層;所述播放層根據(jù)所述聲音文件標(biāo)識查找對應(yīng)的所述聲音文件信 息,并根據(jù)查找到的所述聲音文件信息中的所述播放參數(shù),播放對應(yīng)的所述聲 音文件。由于不需要在每次播放聲音時,都需要確定該文件標(biāo)識對應(yīng)的聲音文 件的文件信息,并將該聲音文件信息存儲到內(nèi)存中,并且可以直接從內(nèi)存中讀 取對應(yīng)的聲音文件,從而減小了播放聲音的時延,能夠滿足在短時間內(nèi)播放多 個聲音文件的Java軟件的要求,并且對于用戶操作或屏幕顯示相協(xié)調(diào)的聲音播 放,同樣可以縮短播放時間,從而提高用戶使用體驗。
明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種播放Java運行時產(chǎn)生的聲音的方法,其特征在于,該方法包括移植層在收到來自Java虛擬機的聲音文件后,生成每個聲音文件的聲音文件信息,所述聲音文件信息包括聲音文件標(biāo)識和播放參數(shù);所述移植層將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播放層;所述播放層根據(jù)所述聲音文件標(biāo)識查找對應(yīng)的所述聲音文件信息,并根據(jù)查找到的所述聲音文件信息中的所述播放參數(shù),播放對應(yīng)的所述聲音文件。
2、 如權(quán)利要求1所述的方法,其特征在于,所述移植層生成每個聲音文 件的聲音文件信息包括為收到的每個聲音文件分配一個數(shù)字,且分配的每個數(shù)字不同,并將分配 的數(shù)字作為所述聲音文件標(biāo)識;根據(jù)所述聲音文件生成對應(yīng)的播放參數(shù);將同 一聲音文件對應(yīng)的所述聲音文件標(biāo)識和所述播放參數(shù)置于一個所述 聲音文件信息中。
3、 如權(quán)利要求2所述的方法,其特征在于,所述移植層將收到來自所述 Java虛擬機的聲音文件標(biāo)識發(fā)送給播放層之前還包括所述移植層將分配的所述數(shù)字和對應(yīng)的聲音文件的文件名發(fā)送給Java虛 擬機;所述Java虛擬機根據(jù)收到的所述數(shù)字和對應(yīng)的聲音文件的文件名,確定需 要播放的聲音文件的文件名對應(yīng)的數(shù)字,并發(fā)送。
4、 一種播放Java運行時產(chǎn)生的聲音的系統(tǒng),其特征在于,該系統(tǒng)包括 移植器,用于在收到來自Java虛擬機的聲音文件后,生成每個聲音文件的聲音文件信息,將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播放器,所 述聲音文件信息包括聲音文件標(biāo)識和播放參數(shù);播放器,用于根據(jù)所述聲音文件標(biāo)識查找對應(yīng)的所述聲音文件信息,并根 據(jù)查找到的所述聲音文件信息中的所述播放參數(shù),播放對應(yīng)的所述聲音文件。
5、 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述移植器包括 生成模塊,用于在收到來自Java虛擬機的聲音文件后,生成每個聲音文件的聲音文件信息;第 一發(fā)送模塊,用于將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播 放層。
6、 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述生成模塊包括 分配模塊,用于在收到來自Java虛擬機的聲音文件后,為收到的每個聲音文件分配一個數(shù)字,且分配的每個數(shù)字不同,并將分配的數(shù)字作為所述聲音文 件標(biāo)識;參數(shù)模塊,用于根據(jù)所述聲音文件生成對應(yīng)的播放參數(shù); 封裝模塊,用于將同一聲音文件對應(yīng)的所述聲音文件標(biāo)識和所述播放參數(shù) 置于一個所述聲音文件信息中。
7、 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述移植器還包括第二發(fā)送模塊,用于將分配的所述數(shù)字和對應(yīng)的聲音文件的文件名發(fā)送給 Java虛擬機;所述系統(tǒng)包括Java虛擬機,用于根據(jù)收到的所述數(shù)字和對應(yīng)的聲音文件的文件名,確定 需要播放的聲音文件的文件名對應(yīng)的數(shù)字,并發(fā)送。
8、 一種移植器,其特征在于,該移植器包括生成模塊,用于在收到來自Java虛擬機的聲音文件后,生成每個聲音文件 的聲音文件信息;第一發(fā)送模塊,用于將收到來自所述Java虛擬機的聲音文件標(biāo)識發(fā)送給播 放器。
9、 如權(quán)利要求8所述的移植器,其特征在于,所述生成模塊包括 分配模塊,用于在收到來自Java虛擬機的聲音文件后,為收到的每個聲音文件分配一個數(shù)字,且分配的每個數(shù)字不同,并將分配的數(shù)字作為所述聲音文件標(biāo)識;參數(shù)模塊,用于根據(jù)所述聲音文件生成對應(yīng)的播放參數(shù);封裝模塊,用于將同 一聲音文件對應(yīng)的所述聲音文件標(biāo)識和所述播放參數(shù)置于一個所述聲音文件信息中。
10、如權(quán)利要求9所述的移植器,其特征在于,所述移植器還包括第二發(fā)送模塊,用于將分配的所述數(shù)字和對應(yīng)的聲音文件的文件名發(fā)送給Java虛擬機。
全文摘要
本發(fā)明涉及嵌入式技術(shù)領(lǐng)域,特別涉及一種播放Java運行時產(chǎn)生的聲音的方法、系統(tǒng)和裝置,用以解決現(xiàn)有技術(shù)中存在的播放Java軟件運行產(chǎn)生的聲音時,時延很嚴重,很難滿足在短時間內(nèi)播放多個聲音文件的Java軟件要求的問題。本發(fā)明實施例的方法包括移植層在收到來自Java虛擬機的聲音文件后,生成每個聲音文件的聲音文件信息;移植層將收到來自Java虛擬機的聲音文件標(biāo)識發(fā)送給播放層;播放層根據(jù)聲音文件標(biāo)識查找對應(yīng)的聲音文件信息,并根據(jù)查找到的聲音文件信息中的播放參數(shù),播放對應(yīng)的聲音文件。采用本發(fā)明實施例的方法能夠減小了播放聲音的時延,滿足在短時間內(nèi)播放多個聲音文件的Java軟件的要求。
文檔編號G06F9/46GK101354658SQ200810210578
公開日2009年1月28日 申請日期2008年9月2日 優(yōu)先權(quán)日2008年9月2日
發(fā)明者張向軍 申請人:青島海信移動通信技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
稻城县| 湘乡市| 中江县| 甘南县| 吐鲁番市| 日喀则市| 永昌县| 乐山市| 罗江县| 柘城县| 宁蒗| 清流县| 昌都县| 盈江县| 莱阳市| 绥宁县| 石门县| 巴楚县| 宕昌县| 灵台县| 冷水江市| 文化| 青龙| 洪湖市| 施甸县| 沛县| 望都县| 东阿县| 同德县| 山阳县| 张家港市| 宝鸡市| 清远市| 常山县| 太谷县| 惠水县| 长海县| 定陶县| 西峡县| 黄山市| 林州市|