首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

使用 J2ME MMAPI 開發移動多媒體應用(一):架構解析、DataSource 與 Player、Manager 工廠模式

     編輯:J2ME

一、引言:多媒體格式百花齊放,需標準化 API

面對眾多媒體格式、儲存設備與傳輸協議,J2ME 提供 Mobile Media API (MMAPI) 統一播放/錄製介面。

二、MMAPI 體系架構:雙層解耦

1. 處理傳輸協議:DataSource

DataSource 知曉如何從原始位置(檔案、擷取裝置、流服務)讀取媒體資料並傳給 Player。支援 HTTP、RTP 等流式協議。javax.microedition.media.protocol.DataSource 提供支援。圖1 展示工作流程。

DataSource工作流程

圖1:DataSource 工作流程

2. 處理媒體內容:Player

Player 從 DataSource 讀取資料,解析解碼,識別輸出裝置(音訊/視訊),傳送資料至裝置緩衝區。提供播放控制與同步方法。javax.microedition.media.Player 介面實現。

3. Control 介面調整行為

Player 可提供一或多個 Control(如 ToneControl、VideoControl),實現 javax.microedition.media.Control,允許在轉換過程中動態調整。

4. Manager 工廠統一創建

採工廠模式(似 JDBC DriverManager),Manager 負責創建 Player 與 DataSource。三個 createPlayer 多載:

  • createPlayer(String locator):URL 字串指定協議與位置,Manager 解析建立 DataSource、推斷內容類型、創建對應 Player。
  • createPlayer(DataSource source):已知 DataSource。
  • createPlayer(InputStream stream, String type):輸入流 + MIME 類型。

圖2 展示 MMAPI 整體架構圖。

MMAPI整體架構

圖2:MMAPI 整體架構圖

三、使用 MMAPI:建立 Player 的三種方式

程式須先 import javax.microedition.media.*。範例:Player pMP3 = Manager.createPlayer("https://www.xxx.com/111.mp3")。無法確定類型時拋 MediaException。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved