2013-02-18 266 views
3

我試圖在dB中實現一個聲音計量器,但我還沒有找到開始的方式。我已經瀏覽了Android API並沒有發現任何我認爲合適的東西。任何人都可以幫助我嗎?聲音計android

回答

2

嘗試使用AudioRecord將音頻錄製到緩衝區,然後從原始PCM數據中測量dB。

要初始化AudioRecord

AudioRecord record = new AudioRecord(AudioSource.MIC, SAMPLING_RATE, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize); 

要讀取從MIC的樣品

short[] buff = new short[8000]; 
record.read(buff, 0, buff.length); 
+0

這可以用於計算dB的功率級的規模,表示數字信號的幅度,這將有最高水平爲0dB,但如果您需要聲壓級值(例如120dB(SPL)=搖滾音樂會的音量),它將無濟於事 – 2013-02-18 13:40:37