Android中多媒体处理【转】
2019獨角獸企業重金招聘Python工程師標準>>>
1.概述
Android平臺內置了常用類型媒體的編解碼,可以在應用中方便地集成他們。訪問平臺的媒體能力是很直觀簡單的—可以使用相同的Intent和Activity機制。
Android能夠從多個數據來源播放音視頻:存在應用的資源目錄中(raw resources)、文件系統中或者來自網絡。通過android.media.MediaPlayer來播放。
平臺同時也允許通過android.media.MediaRecorder錄音視頻,當然要硬件支持(模擬器可不行~要在真機上)。
Android1.5支持如下的媒體類型:
| 類型 | 格式 | 編碼 | 解碼 | 詳情 | 文件類型 |
| Audio | AAC LC/LTP | ? | 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還 額外支持了:Audio 的WMA ,Video 的WMV類型。
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
轉載于:https://my.oschina.net/kevin008/blog/2206
總結
以上是生活随笔為你收集整理的Android中多媒体处理【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 所谓的中间代码(ES5 的 “JSIL”
- 下一篇: 人像摄影的适合焦段