編輯:關於Android編程
本文介紹媒體的編解碼器、容器和Android平台所支持的網絡協議。
作為一個應用程序的開發者,你可以免費使用在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.被支持的視頻編碼參數的示例
SD(低品質)
SD(高品質)
HD(不是所有設備都可用)
Video codec
H.264 Baseline Profile
H.264 Baseline Profile
H.264 Baseline Profile
Video resolution
176 x 144px
480 x 360px
1280 x 720px
Video frame rate
12fps
30fps
30fps
Video bitrate
56Kbps
500Kbps
2Mbps
Audio codec
AAC-LC
AAC-LC
AAC-LC
Audio channels
1(mono)
2(stereo)
2(stereo)
Audio bitrate
24Kbps
128Kbps
192Kbps
對於HTTP或RTSP之上的被流化的視頻內容,還有一些額外的需求:
1. 對於3GPP和MPEG-4容器,moov原子必須先於任何mdat原子,而必須要讓ftyp原子成功。
2. 對於3GPP,MPEG-4和WebM容器,音視頻采樣所對應的相同時間偏移不能超過500KB的間隔。考慮在用較小音視頻數據塊進行交叉。
Android中圖案解鎖首先要理解圖案的實現原理,上一張圖: 由上圖,可以看出,圖案中手勢的記錄是1-9或0-8的,保存的順序就是密碼,當然有些是可以重復的,為了安全,
gravity 這個英文單詞是重心的意思,在這裡就表示停靠位置的意思。 android:gravity 和 android:layout_gravity 的區別: and
Android Studio中提供了非常方便的搜索工具,可以在編輯器的文件中使用,也可以在android輸出的日志中使用,用法都是一樣的.打開搜索工具欄一. 在當前編輯的
做開發的,最基本的調試要會,今天簡單做個步驟,希望對小白有幫助。網上很多教程講的都是使用這個按鈕進行調試今天我只講個簡單的吧。簡單流程:正常Run app也就是用&ldq