作為一個應用程序的開發者,你可以免費使用在Android設備上有效的任何格式的媒體編解碼器,包括由Android平台和設備特殊提供的編解碼器。但是,最好的做法是使用設備無關的媒體編碼配置文件。
網絡協議
以下是音視頻播放所支持的網絡協議:
1. RTSP(RTP、SDP)
2. HTTP/HTTPS實時流
3. HTTP/HTTPS Live Streaming草案協議:
只針對MPEG-2 TS流媒體媒體文件;
協議版本3(Android4.0以上)
協議版本2(Android3.x)
Android3.0以前不支持
注:在Android3.1之前不支持HTTPS。
核心媒體格式
下表介紹了Android平台內置的它所支持的媒體的格式。注意:任意給定的移動設備都可以提供這個列表中沒有列出的另外的媒體格式的支持。
注:這些媒體的編解碼並不保證在所有的Android平台上都是有效的,要注意括號中的注釋---例如“(Android3.0+)”
表1.核心媒體格式和編解碼支持
類型
格式/編解碼器
編碼器
解碼器
詳細
支持的文件類型/容器、格式
Audio
AAC LC/LTP
•
•
用標准的高達160kbps的位率和8到48kHZ的采樣頻率來任意組合的單聲道/立體聲內容。
• 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• ADTS raw AAC (.aac, 解碼:Android 3.1+, 編碼: Android 4.0+, 不支持ADIF )
• MPEG-TS (.ts, 不可尋址Android 3.0+)
HE-AACv1
(AAC+)
•
HE-AACv2
(enhanced AAC+)
•
AMR-NB
•
•
用8kHz來采樣的4.75到12.2kbps的位流
3GPP (.3gp)
AMR-WB
•
•
用16kHz來采樣的6.6kbit/s到23.85kbit/s的位流
3GPP(.3gp)
FLAC
•
(Android3.1+)
單聲道或立體聲(沒有多聲道)。采樣率上限到48kHz(推薦在設備上使用上限為44.1kHZ,因為48到44.1之間的采樣率不包含低通濾波)。采樣大小推薦使用16位,24位的采樣大小適用於無抖動場合。
只有FLAC(.flac)
MP3
•
單聲道或立體聲
8-320Kbps固定(CBR)或可變(VBR)播放速率
MP3(.mp3)
MIDI
•
MIDI類型0和1.
DLS版本1和2.
XMF和移動XMF。
支持鈴聲格式:RTTTL/RTX,OTA,iMelody
1. 類型0和1(.mid,xmf,mxmf)
2. RTTTL/RTX(.rtttl,rtx)
3. OTA(.ota)
4. iMelody(.imy)
Vorbis
•
1. Ogg(.ogg)
2. Matroska(.mkv,Android4.0+)
PCM/WAVE
•
8位和16位PCM(采樣率上限受硬件限制)
WAVE(.wav)
Image
JPEG
•
•
基本+實時
JPEG(.jpg)
GIF
•
GIF(.gif)
PNG
•
•
PNG(.png)
BMP
•
BMP(.bmp)
WEBP
•
(Android4.0+)
•
(Android4.0+)
WebP(.webp)
Video
H.263
•
•
1. 3GPP(.3gp)
2. MPEG-4(.mp4)
H.264 AVC
•
(Android3.0+)
•
Baseline Profile(BP)
1. 3GPP(.3gp)
2. MPEG-4(.mp4)
3. PEG-TS(.ts,只有AAC音頻,不能尋址,Android3.0+)
MPEG-4 SP
•
3GPP(.3gp)
VP8
•
(Android2.3.3+)
只有在Android4.0以上才能夠被流化
1. WebM(.webm)
2. Matroska(.mkv, Android4.0+)
視頻編碼建議
下表2列出了Android媒體框架做支持的視頻編碼的Profile和參數的示例。除了這些編碼參數的建議,設備可用的視頻錄制Profile能夠被用作媒體播放能力的代理。這些Profile能夠使用API Level 8以後的CamcorderProfile類來檢查。
表2.被支持的視頻編碼參數的示例