【发布时间】:2013-02-18 13:02:14
【问题描述】:
我正在尝试在 android 中实现一个以 dB 为单位的声级计,但我还没有找到开始的方法。我已经查看了 androids API 并没有找到任何我认为合适的东西。谁能帮帮我?
【问题讨论】:
我正在尝试在 android 中实现一个以 dB 为单位的声级计,但我还没有找到开始的方法。我已经查看了 androids API 并没有找到任何我认为合适的东西。谁能帮帮我?
【问题讨论】:
这通常是不可能的,因为“dB”的不同含义之间存在混淆,而且您无法测量物理声压级(这通常是人们谈论“声级计”时的意思) ) 没有经过校准的设备。查看我之前对类似问题的回答:
【讨论】:
尝试使用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);
【讨论】: