Android 內含 Stagefright 是一款原生層級的媒體播放引擎 內建熱門媒體格式的軟體型轉碼器。
Stagefright 音訊和影片播放功能包括與 OpenMAX 轉碼器、工作階段管理、時間同步轉譯、傳輸 數位版權管理和 DRM 機制
此外,Stagefright 還能與 您。如要設定對媒體進行編碼及解碼的硬體路徑,您必須實作 硬體式轉碼器,如同 OpenMax IL (Integration Layer) 元件。
注意:階段可透過以下方式更新: Android 每月安全性 更新程序和 Android 作業系統版本中。
建築
媒體應用程式會與 Android 原生多媒體架構互動 屬性如下:
- 應用程式架構
- 應用程式架構層級是指應用程式程式碼 android.media 與多媒體硬體互動的 API。
- 繫結機制處理序間通訊
- Binder IPC Proxy 有助於跨程序邊界進行通訊。
這些設定檔位於
frameworks/av/media/libmedia
目錄, 開頭的字母為「I」。 - 原生多媒體架構
- 就原生層面而言,Android 提供的多媒體架構可以
這是 Stagefright 引擎,可用於錄製及播放影片。舞台風
提供了預設的支援軟體轉碼器清單,
使用自己的硬體轉碼器適用對象
實作詳情,請參閱 MediaPlayer 和 Stagefright 元件
位於
frameworks/av/media
。 - OpenMAX 整合層 (IL)
- OpenMAX IL 是 Stagefright 的標準化機制
使用稱為「元件」的自訂硬體式多媒體轉碼器。您必須提供
一種 OpenMAX 外掛程式,格式是共用程式庫
libstagefrighthw.so
。這個外掛程式能將 Stagefright 連結至您的自訂 轉碼器元件,必須根據 OpenMAX IL 實作 元件標準
導入自訂轉碼器
Stagefright 內建適用於常見媒體格式的軟體轉碼器,
你也可以將自訂的硬體轉碼器新增為 OpenMAX 元件。待辦
,您必須建立 OMX 元件和 OMX 外掛程式
自訂轉碼器和 Stagefright 架構。如需元件範例,請參閱
hardware/ti/omap4xxx/domx/
;外掛程式範例
Galaxy Nexus,hardware/ti/omap4xx/libstagefrighthw
。
如何自行新增轉碼器:
- 請根據 OpenMAX IL 元件標準建立元件。
元件介面位於
frameworks/native/include/media/OpenMAX/OMX_Component.h
檔案。目的地: 如要進一步瞭解 OpenMAX IL 規格,請參閱 OpenMAX 網站。 - 建立 OpenMAX 外掛程式,連結元件與 Stagefright
課程中也會快速介紹 Memorystore
這是 Google Cloud 的全代管 Redis 服務如要瞭解建立外掛程式的介面,請參閱
「
frameworks/native/include/media/hardware/OMXPluginBase.h
」和HardwareAPI.h
個標頭檔案。 - 以下列名稱做為共用程式庫來建構外掛程式:
libstagefrighthw.so
。例如:
LOCAL_MODULE := libstagefrighthw
在裝置的 Makefile 中,請務必將模組宣告為產品 套件:
PRODUCT_PACKAGES += \ libstagefrighthw \ ...
向架構公開轉碼器
Stagefright 服務剖析 system/etc/media_codecs.xml
和 system/etc/media_profiles.xml
來顯示支援的轉碼器
和設定檔傳送給應用程式開發人員
android.media.MediaCodecList
和
android.media.CamcorderProfile
類別。您必須建立兩個檔案。
在 device/<company>/<device>/
目錄中
並複製到所需系統映像檔的 system/etc
目錄
裝置的 Makefile。例如:
PRODUCT_COPY_FILES += \ device/samsung/tuna/media_profiles.xml:system/etc/media_profiles.xml \ device/samsung/tuna/media_codecs.xml:system/etc/media_codecs.xml \
如需完整範例,請參閱 device/samsung/tuna/media_codecs.xml
和 device/samsung/tuna/media_profiles.xml
.
注意:自 Android 4.1 起,
系統不再支援媒體轉碼器的 <Quirk>
元素。