android IM模組-語音-錄製篇1
android IM模組-語音-錄製篇1
https://www.jianshu.com/p/5cccb0a9e740
android IM模組-語音-錄製篇2
https://www.jianshu.com/p/1527e6d4840d
android IM模組-語音-播放篇1
https://www.jianshu.com/p/214a433f3f40
android IM模組-語音-播放篇2
https://www.jianshu.com/p/66727521e2eb
現在做安卓IM可以說是軟體常用功能,IM模組常用的有語音,視訊,地圖,訊息,位置,檔案等
我們一般選用三方SDK進行完成,我個人覺得用SDK可以,但是最基本的原理和實現程式碼我們得基本能坐到
從這篇開始我們從語音開始進行一篇篇詳解,(我也是摸索學習,哪裡不對請指正)
android端常用錄音API有,AudioRecord 和MediaRecorder,其中MediaRecorder封裝較好,可以很簡單的就實現錄音功能。我們就簡單利用MediaRecorder做一個小案例。
MediaRecorder
在XML檔案中寫入許可權
在android6.0以上,這兩個許可權是需要動態許可權申請的,我們記得申請動態許可權
我們寫一個佈局,開始錄音和停止錄音兩個按鈕
在主頁面裡開始寫程式碼,錄音完我們需要儲存到SD卡里,我們先做一個File路徑出來
新建一個MediaRecorder
設定相關引數
開始錄音
停止錄音
執行一下,記住一定要給予許可權哦,不然會報錯,點選錄音,說一段話,然後結束錄音,去資料夾查詢,
錄音是一個JNI級別的方法只能單執行緒操作,而且涉及這種耗時操作,肯定需要放線上程裡,
我建議大家在做的錄音的時候,使用一個單執行緒進行操作,
這裡只是簡單展示各種常用引數配置,真正開發的時候一定要注意。
點選播放
我們一個很簡單的錄音APP就完成了,好的,大家很好奇我們設定那堆引數是做什麼的呢?我把查到的資料放在下面讓大家看一看
大家可以關注一下兩篇部落格
https://blog.csdn.net/qq_32175491/article/details/78664821
https://www.2cto.com/kf/201408/326131.html
或者視訊可以看這位老師的視訊
https://www.imooc.com/learn/739
MediaRecorder.AudioSource.xxxx
MediaRecorder.AudioSource.CAMCORDER
1 設定錄音來源於同方向的相機麥克風相同,若相機無內建相機或無法識別,則
使用預設的麥克風
2 MediaRecorder.AudioSource.DEFAULT
預設音訊源
3 MediaRecorder.AudioSource.MIC
設定錄音來源為主麥克風。
4 MediaRecorder.AudioSource.VOICE_CALL
設定錄音來源為語音撥出的語音與對方說話的聲音
5 MediaRecorder.AudioSource.VOICE_COMMUNICATION
攝像頭旁邊的麥克風
6 MediaRecorder.AudioSource.VOICE_DOWNLINK
下行聲音
7 MediaRecorder.AudioSource.VOICE_RECOGNITION
語音識別
8 MediaRecorder.AudioSource.VOICE_UPLINK
上行聲音
MediaRecorder.OutputFormat.xxxx
1 AAC_ADTS:ADTS的全稱是Audio Data Transport Stream。是AAC音訊的傳
輸流格式。是AAC的一種非常常見的傳輸格式
2 AMR_NB:編碼的是無視訊純聲音3gp檔案就是amr,他的檔案比AAC的小,他的音樂效果沒ACC的好
3 AMR_WB:VMR-WB 是新型可變速率多模式寬頻語音編解碼器,專為無線
CDMA 2000標準而設計,目的在於在 50 至 7000 HZ 的頻帶上進行語音編碼,
取樣率為 16 KHZ。VMR-WB 基於 3GPP AMR-WB (G722.2) 編解碼器,在每
秒速率12.65 Kbit 上可實現互操作。
4 DEFAULT:預設輸出
5 MPEG_4:這將指定錄製的檔案為mpeg-4格式,可以保護Audio和Video
6 RAW_AMR:錄製原始檔案,這隻支援音訊錄製,同時要求音訊編碼為
7 AMR_NB
8 THREE_GPP:錄製後檔案是一個3gp檔案,支援音訊和視訊錄製
9 WEBM: 編碼為VP8/VORBIS的輸出格式。
MediaRecorder.AudioEncoder.xxxx
1 default:預設值
2 AAC:高階音訊編碼,蘋果用的就是這種音訊格式,開發首選。
優點:相對於mp3,AAC格式的音質更佳,檔案更小。
不足:AAC屬於有失真壓縮的格式,與時下流行的APE、FLAC等無損格式相比音質
存在”本質上”的差距。加之,傳輸速度更快的USB3.0和16G以上大容量MP3正
在加速普及,也使得AAC頭上”小巧”的光環不復存在。
3 HE_AAC:HE-AAC混合了AAC與SBR技術
4 AAC_ELD: 低延時的AAC音訊編解碼器
5 AMR_NB:編碼的是無視訊純聲音3gp檔案就是amr,他的檔案比AAC的小,他的
音樂效果沒ACC的好
6 AMR_WB:VMR-WB 是新型可變速率多模式寬頻語音編解碼器,專為無線 CDMA 2000標準而設計,目的在於在 50 至 7000 HZ 的頻帶上進行語音編碼,取樣率為 16 KHZ。VMR-WB 基於 3GPP AMR-WB (G722.2) 編解碼器,在每秒速率12.65 Kbit 上可實現互操作。
7 VORBIS:Vorbis是一種新的音訊壓縮格式,類似於MP3等現有的音樂格式。但有一點不同的是,它是完全免費、開放和沒有專利限制的。OGG Vorbis有一個很出眾的特點,就是支援多聲道,隨著它的流行,以後用隨身聽來聽DTS編碼的多聲道作品將不會是夢想。
setAudioSamplingRate
設定所錄製的聲音的取樣率。
取樣頻率越高,資料越大,音質越好,常用頻率有11.025kHz,22.05kHz,16kHz,37.8kHz,44.1kHz,48kHz,96kHz,192kHz,其中44.1kHz所有安卓機都支援。
setAudioEncodingBitRate
設定所錄製的聲音的編碼位率
位元速率越大,壓縮越小,音質越好
AAC HE(High Effciency):32kbps-96kbps,位元速率低,質量一般
AAC LC( Low Complexity):96kbps-192kbps,平均低位元速率和高音質
android IM模組-語音-錄製篇2
https://www.jianshu.com/p/1527e6d4840d
相關文章
- iOS錄音模組實踐[AVAudioRecoder]iOS
- AVFoundation 文字轉語音和音訊錄製 播放音訊
- Android中實現錄製內建聲音Android
- Android音訊處理知識(一)MediaRecorder錄製音訊Android音訊
- Android 音視訊錄製硬編碼實現Android
- Android WebView 實現檔案選擇、拍照、錄製視訊、錄音AndroidWebView
- 怎麼錄製QQ語音通話 QQ通話錄音軟體哪個好?
- 音訊錄製:三星電腦如何錄製音訊?音訊
- HTML5 語音聊天 IM|仿微信語音介面|搖一搖效果HTML
- python記錄day24 模組的語法Python
- IM 聊天教程:傳送圖片 / 影片 / 語音 / 表情
- H5實現移動端語音錄製功能H5
- Android 模組化探索和實踐(1):基本思路Android
- IM 聊天教程:傳送圖片 / 視訊 / 語音 / 表情
- win10錄屏如何錄製聲音_win10錄屏錄製聲音的步驟Win10
- 億歐智庫:2022中國汽車智慧化功能模組系列研究-語音篇(附下載)
- Unity製作本地離線數字人功能模組記錄Unity
- Android 錄音功能直接拿去用Android
- Python基本圖形繪製--模組1:turtle庫的使用Python
- Android模組化改造以及模組化通訊框架Android框架
- Mac快速錄製音訊:RecordiaMac音訊
- Recordia for Mac快速錄製音訊Mac音訊
- Win7如何錄製內部聲音 電腦錄音軟體線上錄音Win7
- YouGov:1/3的智慧音響使用者不知道語音錄音儲存在雲端Go
- android 使用 SoundPool 語音播報Android
- Android實現模組 api 化AndroidAPI
- Android模組化框架介紹Android框架
- ffmpeg命令錄製windows音視訊Windows
- Audio Hijack for Mac音訊錄製工具Mac音訊
- NCH RecordPad for mac音訊錄製工具Mac音訊
- 友好訪問許可權篇:訪問語音、相簿、通訊錄----iOS訪問許可權iOS
- AQ錄製工具設定僅錄製遊戲聲音的技巧遊戲
- 移動IM開發指南3:如何優化登入模組優化
- 原來智慧語音是“拼湊”出來的,重要的VAD模組
- Android模組化與元件化–多模組區分編譯Android元件化編譯
- 流量回放系統的設計與實現--流量錄製模組
- 日誌記錄模組logging
- 組合語言 1組合語言