Android中多媒體處理【轉】

1.概述
Android平臺內置了經常使用類型媒體的編解碼,能夠在應用中方便地集成他們。訪問平臺的媒體能力是很直觀簡單的—能夠使用相同的Intent和Activity機制。
Android可以從多個數據來源播放音視頻:存在應用的資源目錄中(raw resources)、文件系統中或者來自網絡。經過android.media.MediaPlayer來播放。

平臺同時也容許經過android.media.MediaRecorder錄音視頻,固然要硬件支持(模擬器可不行~要在真機上)。
Android1.5支持以下的媒體類型:java

類型android

格式網絡

編碼ide

解碼學習

詳情google

文件類型編碼

Audiospa

AAC LC/LTPorm

 

Y視頻

/ 雙聲道160Kpbs 的碼率,採樣4-48KHz

 

3GPP(.3gp)

MPEG-4(.mp4,.m4a)

不支持raw AAC(.aac)

HE-AACv1

(AAC+)

 

Y

HE-AACv2

( 加強AAC+)

 

Y

AMR-NB

Y

Y

4.75 to 12.2 kbps sampled @ 8kHz

3GPP (.3gp)

AMR-WB

 

Y

9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz

3GPP (.3gp)

MP3

 

Y

Mono/Stereo 8-320Kbps constant (CBR) or variable bit-rate (VBR)

MP3 (.mp3)

MIDI

 

Y

MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody

Type 0 and 1 (.mid, .xmf, .mxmf). Also RTTTL/RTX (.rtttl, .rtx), OTA (.ota), and iMelody (.imy)

Ogg Vorbis

 

Y

 

Ogg (.ogg)

PCM/WAVE

 

Y

8- and 16-bit linear PCM (rates up to limit of hardware)

WAVE (.wav)

Image

JPEG

Y

Y

Base+progressive

JPEG(.jpg)

GIF

 

Y

 

GIF(.gif)

PNG

 

Y

 

PNG(.png)

BMP

 

Y

 

BMP(.bmp)

Video

H.263

Y

Y

 

3GPP (.3gp)

 

H.264 AVC

 

Y

 

3GPP (.3gp) and MPEG-4 (.mp4)

 

MPEG-4 SP

 

Y

 

3GPP (.3gp)

T1還 額外支持了:AudioWMAVideoWMV類型。

2.播放

播放很簡單,但從資源中播放和從文件/網絡中播放仍是有些區別,先說從資源中播放:

開始播放:MediaPlayer mp=MediaPlayer.create(context,R.raw.xxx);-->mp.start();
中止/播放:mp.stop()-->mp.reset();mp.prepare()-->mp.start();
暫停/播放:mp.pause()-->mp.start();

從文件/網絡中播放:

開始播放:
MediaPlayer mp=new MediaPlayer.create();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
中止/播放和暫停/播放和上面同樣。

3.錄製
錄製要稍微複雜一些,按照步驟:

  • 實例化MediaRecorder:mr=new MediaRecorder();
  • 初始化mr:mr.setAudioSource(MIC)/setVideoSource(CAMERA);必須在配置DataSource以前調用。
  • 配置DataSource:設置輸出文件格式(參見上表)/路徑,編碼器(參見上表)等
  • 準備錄製:mr.prepare();
  • 開始錄製:mr.start();
  • 中止錄製:mr.stop();
  • 釋放資源:mr.release();

學習這部份內容的時候,就想到對電話錄音是個不錯的主意。一google,發現早就有這個軟件了,但有一個問題就是聲音只能從MIC中錄入(錄音的效果不是很好),受限於基帶處理器,不能直接獲取通話的聲音記錄,之後會不會開放這個功能接口?
http://groups.google.com/group/android-developers/browse_thread/thread/355254941f17aa17

 來源:http://iame.javaeye.com/blog/384107

相關文章
相關標籤/搜索