第 8 章 |
|
JSR 135 (Mobile Media API (MMAPI)) 提供標準的 API,供您描繪與擷取時間型式的媒體,例如音效或視訊。此 API 的設計可彈性適應不同裝置支援的媒體格式、協定與功能。如需有關使用 MMAPI 進行程式設計的資訊,請參閱以下文章︰
http://developers.sun.com/techtopics/mobility/apis/articles/mmapi_overview/
http://developers.sun.com/techtopics/mobility/midp/articles/mmapioverview/
Sun JavaTM Wireless Toolkit for CLDC 模擬對 Adaptive Multi-Rate (AMR) 內容 (http://www.ietf.org/rfc/rfc3267.txt) 的支援。儘管工具組無法解碼 AMR 內容,但實作將在收到請求時為 AMR 內容傳回播放程式。
在 Windows 上,AMR 檔案將轉換為一般 WAVE 檔案並傳送至 Qsound。由於 Windows 版本與 3GPP 實作可互通,因此您無須執行任何動作即可播放 AMR 檔案。
Linux 的 AMR 支援以 3GPP AMR Narrow Band (AMR-NB) Reference Implementation 解碼器與 SOX 音效處理器 (不支援 AMR Wide Band) 為基礎。
http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-530.zip
儲存與編譯。如果出現問題,另請嘗試移除 O3 (或 O2) 最佳化旗標 (二進位將近乎大小的兩倍)。
編譯後,您應具有一個名稱為 decoder 的二進位檔案。其為 AMR-NB 解碼器本身。
4. 設定環境變數 AMR_DECODER 以指向解碼器路徑。
export AMR_DECODER=~/amr/decoder
如第 A.13 節, MobileMediaAPI 所述,執行 MobileMediaAPI 示範 Simple Player。從主功能表中選取 [Simple Player],然後選取「AMR Narrow Band [jar]」。請記得打開喇叭。
某些 AMR-NB 的「複製」版本也可能有問題。AMR-NB 編碼解碼器資料似乎至少有兩種檔案格式︰
其指定於 draft-ietf-avt-rtp-amr-10.txt 第 6.2 節,涵蓋在 Ericsson AMR 轉換器工具中。(此草案為 RFC 3267 的早期形式)。這些檔案由 Ericsson AMR 工具與 Nokia Series 60 電話處理。它們的標頭為 #!AMR\n,並使用 big-endian 編碼。
此格式指定於附錄 A 的 3GPP TS 26.101。這些檔案可由 3GPP TS 26.104 浮點參考編碼解碼器來源套裝軟體編碼與解碼。這些檔案沒有標頭,並使用 little-endian 編碼。
http://www.connactivity.com/~eaw/amrwork/amrconv.py
Sun JavaTM Wireless Toolkit for CLDC 隨附一個著重於多媒體播放與控制的模擬器面板 MediaControlSkin。此面板包括的按鈕上,有代表播放、停止、音量大小和其他指令的符號。若要瞭解 MediaControlSkin 的用處,請以 MobileMediaAPI 示範應用程式試用。
Sun JavaTM Wireless Toolkit for CLDC 模擬器支援音效與視訊擷取。音效擷取的支援方式,是利用模擬器執行系統的擷取功能。
如需示範如何擷取音效與視訊的詳細資訊與原始碼,請參考 MobileMediaAPI 應用程式範例。
MIDlet 有 MIDP 規格所定義的生命週期。MIDlet 可因事件而暫停,如來電事件。正常 MIDlet 會在暫停時釋出重要裝置資源,並在 MIDlet 重新繼續時重新配置或重新啟動這些資源。在 MMAPI 中,任何描繪內容的 [播放程式] 應在 MIDlet 暫停時停止。
Sun JavaTM Wireless Toolkit for CLDC 會在您暫停 MIDlet 但其執行中的 [播放程式] 卻沒有停止時,於主控台上顯示訊息。您可使用在 MobileMediaAPI 示範應用程式中的 Pausing Audio Test MIDlet 來測試這項功能。如需詳細資訊,請參閱附錄 A。
如第 A.13.1 節, Simple Tones 與第 A.13.2 節, Simple Player 所示,MMAPI 可用於播放鈴聲。常用的鈴聲格式有好幾種。您可以下載鈴聲或建立自己的鈴聲。
http://www.convertyourtone.com/rtttl.html
以下提供了 Nokia Composer 格式的貝多芬第九號交響曲︰
16g1,16g1,16g1,4#d1,16f1,16f1,16f1,4d1,16g1,16g1,16g1,16#d1,
16#g1,16#g1,16#g1,16g1,16#d2,16#d2,16#d2,4c2,16g1,16g1,16g1,
16d1,16#g1,16#g1,16#g1, 16g1,16f2,16f2,16f2,4d2
a b + c b + c b + c b + C p + d a B p + c g A
p f g a g a g a g A p b f G p a e F
f f f # C # d # d # d C p f f f # c # f #f # f f +# c + # c + # c # A ff f c # f # f # f f + # d + # d + # d
C2(1/8) D2(1/16) Dis2(1/8) F2(1/16) G2(1/8)
P(1/16) Dis2(1/8) P(1/16) Fis2(1/8) P(1/16)
D2(1/8) P(1/16) F2(1/8) P(1/16) Dis2(1/8)
P(1/16) C2(1/8) D2(1/16) Dis2(1/8) F2(1/16)
G2(1/8) P(1/16) C3(1/8) P(1/16) B2(1/2) P(1/4)
C2(1/8) D2(1/16) Dis2(1/8) F2(1/16) G2(1/8) P(1/16)
Dis2(1/8) P(1/16) Fis2(1/8) P(1/16) D2(1/8) P(1/16)
F2(1/8) P(1/16) Dis2(1/8) P(1/16) C3(1/8) B2(1/16)
Ais2(1/8) A2(1/16) Gis2(1/2) G2(1/8) P(1/16) C3(1/2)
4 F2 F2 F2 C#4 D#2 D#2 D#2 C4 R2 F2 F2 F2 C#2 F#2 F#2
F#2 F2 C#+2 C#+2 C#+2 A#4 F2 F2 F2 C2 F#2 F#2 F#2 F2
444** 444** 444** 1111* 4444** 4444** 4444** 111*
0** 444** 444** 444** 1111** 4444** 4444** 4444**
444** 11** 11** 11** 6666* 444** 444** 444** 111**
4444** 4444** 4444** 444** 22** 22** 22**
444****444****444****111#*****444#****444#****444#****
111*****(JD)0000444****444****444****111#****444#****
444#****444#****444****11#****11#****11#****666#*****
444****444****444****111****444#****444#****
444#****444****22#****22#****22#****
Copyright © 2007, Sun Microsystems, Inc. 版權所有。