簡體   English   中英

怎么能在電話錄音機Android中壓縮音頻

[英]How Can Compress Audio In Call Recorder Android

我在Android Studio中使用此代碼捕獲音頻但大小音頻大(1分鍾= 1MB)如何在沒有質量損失的情況下壓縮音頻

AudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
AudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
AudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
AudioRecorder.setAudioChannels(1);
AudioRecorder.setAudioEncodingBitRate(44100);
AudioRecorder.setAudioSamplingRate(128000);

您正在將編碼器設置為AMR_N8。 大約1 MB /秒的聲音適合該編碼器。 如果要壓縮它,可以選擇其他編碼,例如Vorbis。

請注意,不同的編碼器有不同的用途。 如果沒有質量損失,它們都不會壓縮 - 我們將模擬聲音轉換為數字值,總是存在質量損失。 不同的編碼器針對不同用途進行了優化。 AMR針對人聲進行了優化。 它過濾掉不在聲音范圍內的頻率。 這是一種質量損失,但它可能是你想要的(如在通話中)。 你無法獲得一切 - 你將不得不犧牲尺寸或質量。 我建議你研究一下https://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder.html上的不同編碼,找出最適合你的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM