3

我正在尝试在 android 中实现一个以 dB 为单位的声级计,但我还没有找到开始的方法。我已经查看了 androids API 并没有找到任何我认为合适的东西。任何人都可以帮助我吗?

4

2 回答 2

3

这通常是不可能的,因为“dB”的不同含义之间存在混淆,并且您无法在没有校准的情况下测量物理声压级(通常是人们谈论“声级计”时的意思)。设备。查看我之前对类似问题的回答:

于 2013-02-18T13:39:01.133 回答
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); 
于 2013-02-18T13:15:26.540 回答