Android 支援的多媒體格式
本文檔介紹了媒體轉碼器,容器,和Android平台所提供的網路通訊協定的支援。
作為應用程式開發人員,您可以自由使用任何媒體轉碼器,可用在任何Android的裝置上,然而,這是最好的做法是使用媒體編碼設定檔,因為它與裝置無關。
9.1 網路通訊協定
音頻和視頻播放支援以下網路通訊協定:
- RTSP (RTP, SDP)
- HTTP/HTTPS 順序串流(progressive streaming)
- HTTP/HTTPS live streaming draft protocol:
- MPEG-2 TS media files only
- Protocol version 3 (Android 4.0 and above)
- Protocol version 2 (Android 3.x)
- Android 3.0以前不支援
注意: HTTPS 在android 3.1之前不支援
9.2 核心多媒體格式
下表介紹了Android平台內建的媒體格式支援。請注意,任何特定的行動裝置可能提供額外的格式或者需要額外支援表中未列出的檔案類型。
注意: 不是所有android平台都支援所有的格式,有些需要特定版本支援 例如 android 3.0+
Table 1. 核心媒體格式和轉碼器支援。
Type |
Format / Codec |
編碼 |
解碼 |
詳細資料 |
支援的檔案類型/包含的格式 |
Audio |
AAC LC/LTP |
• |
• |
在任意組合標準位元速率高達160 kbps和採樣率從8至48kHz的單聲道/立體聲內容 |
• 3GPP (.3gp) • MPEG-4 (.mp4, .m4a) • ADTS raw AAC (.aac, 解碼in Android 3.1+, 編碼in Android 4.0+, ADIF 不支援 ) • MPEG-TS (.ts, 不能seek, Android 3.0+) |
HE-AACv1 (AAC+) |
|
• |
HE-AACv2 (enhanced AAC+) |
|
• |
AMR-NB |
• |
• |
4.75 to 12.2 kbps 採樣@ 8kHz |
3GPP (.3gp) |
AMR-WB |
• |
• |
6.60 kbit/s to 23.85 kbit/s 採樣@ 16kHz |
3GPP (.3gp) |
FLAC |
|
• (Android 3.1+) |
單身到/立體聲 (無多聲道). 採樣率可達48kHz , 16-bit 推薦;最好24-bit不會有抖動 |
FLAC (.flac) only |
MP3 |
|
• |
單聲道/立體聲 8-320Kbps 不變的(CBR) 或 可變的位元速率, (VBR) |
MP3 (.mp3) |
MIDI |
|
• |
MIDI Type 0 and 1. DLS Version 1 and 2. XMF 和Mobile XMF. 支援鈴聲格式RTTTL/RTX, OTA, 和iMelody |
• Type 0 and 1 (.mid, .xmf, .mxmf) • RTTTL/RTX (.rtttl, .rtx) • OTA (.ota) • iMelody (.imy) |
Vorbis |
|
• |
|
• Ogg (.ogg) • Matroska (.mkv, Android 4.0+) |
PCM/WAVE |
|
• |
8- and 16-bit linear PCM (rates有硬體限制) |
WAVE (.wav) |
Image |
JPEG |
• |
• |
|
JPEG (.jpg) |
GIF |
|
• |
|
GIF (.gif) |
PNG |
• |
• |
|
PNG (.png) |
BMP |
|
• |
|
BMP (.bmp) |
WEBP |
• (Android 4.0+) |
• (Android 4.0+) |
|
WebP (.webp) |
Video |
H.263 |
• |
• |
|
• 3GPP (.3gp) • MPEG-4 (.mp4) |
H.264 AVC |
• (Android 3.0+) |
• |
|
• 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+) |
MPEG-4 SP |
|
• |
|
3GPP (.3gp) |
VP8 |
|
• (Android 2.3.3+) |
Streamable 需要在 Android 4.0以上
|
• WebM (.webm) • Matroska (.mkv, Android 4.0 |
9.3 視頻編碼規範
表2,下面,列出了視頻編碼設定檔和參數,Android的媒體架構播放的例子。除了這些編碼參數的建議,可用錄影裝置的設定檔可以被用來作為一個媒體播放功能的代理。檢查這些
檔案,可以使用CamcorderProfile類,API level必須為8。
Table 2. 支援的視頻編碼參數的例子
|
SD (低品質) |
SD (高品質) |
HD (所有裝置無效) |
Video 轉碼器 |
H.264 Baseline Profile |
H.264 Baseline Profile |
H.264 Baseline Profile |
Video 解析度 |
176 x 144 px |
480 x 360 px |
1280 x 720 px |
Video 幀率 |
12 fps |
30 fps |
30 fps |
Video 位元速率 |
56 Kbps |
500 Kbps |
2 Mbps |
Audio 轉碼器 |
AAC-LC |
AAC-LC |
AAC-LC |
Audio 聲道 |
1 (mono) |
2 (stereo) |
2 (stereo) |
Audio 位元速率 |
24 Kbps |
128 Kbps |
192 Kbps |
9.4 本章小結
本章主要講解了一些的格式,需要我們有點印象。一些更具體更深入的行為,我們會在詳解Android FrameWork的時候在詳細描述。請保持學習的激情,精彩的還在後面!!