[英]How to tweak audio quality in my android app
我有一個記錄音頻的應用程序,當我將它與內置的錄音機應用程序進行比較時,質量很差。
我嘗試下載其他一些錄音機,它們的音質確實比我的應用程序更好。
如何為我的應用程序獲得最高質量的音頻?
假設錄制環境合理(即沒有明顯的背景噪音),有兩個主要因素會影響音頻質量:
對於錄制格式,如果您想要最高質量,請使用無損格式,例如線性PCM,而不是有損格式,例如MP3。 如果使用android.media.AudioRecord.AudioRecord
則可以在構造函數中指定錄制的聲音數據的位深度和采樣率:
AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)
一般來說,采樣率越高,質量越好。 位深度由audioFormat
參數控制,您可以指定AudioFormat.ENCODING_PCM_8BIT
或AudioFormat.ENCODING_PCM_16BIT
。 16位通常會有更高的質量,我想大多數設備都會處理這個問題。 最大采樣率會隨設備而變化,但您應該能夠獲得44.1kHz(16位@ 44.1kHz是標准CD格式),因為所有設備上的采樣率都是“保證”(參見AudioRecord )
在后處理方面,您可以對獲得的數字音頻樣本執行回聲消除,降噪,音頻壓縮,濾波等,但這對於獲得合理質量的音頻不是必需的。
如果要將錄制的音頻質量與某些其他應用程序的音頻質量進行比較,則應首先確保以與要比較的應用程序相同的格式錄制/保存音頻。 那么任何差異都可能在后處理階段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.