如何从麦克风输入获得音量

时间:2011-04-22 23:50:16

标签: android audio audio-recording

我通过AudioRecord接口使用麦克风输入(3.5mm)作为一种模数转换器。我需要大约每1(最差情况)到3(最佳情况)毫秒采样,并测量体积(相对电压)。只要我能看到峰值,绝对电压就不是很重要。

问题是我对音频知之甚少。有人可以推荐我如何设置我的AudioRecord和缓冲区,比如大小等等?

是否可以在不使用FFT算法的情况下观察振幅?

由于

1 个答案:

答案 0 :(得分:0)

这个应用程序是实时的,还是要记录波形,存储然后查看?对于这个答案,我假设处理将在离线状态下完成。

你需要每1到3毫秒采样一次(最差到最好的情况)。如果我的计算没有错,那就意味着采样率分别为1000 - 333 Hz。 android中的采样率受编码器的最小采样率要求(输出格式)的限制。看看supported audio/video formats,似乎大多数格式都不支持您选择的采样率。因此,您可以尝试以wav格式进行编码(它可能具有您需要的采样率),或以任何格式记录波形,下采样到您想要的频率范围然后进行分析。

此外,您可以查看此应用程序 - Audalyzer以查看波形。

是的,您可以在不获得FFT的情况下查看幅度,事实上,不是对信号进行FFT处理并且在记录时(在时域中)查看信号,这可能是最好的方法。

HTH,
Sriram