如何将getAmplitude()中的值转换为相应的RMS电压值(mV)

时间:2015-02-28 05:58:57

标签: android audio microphone amplitude

我正在编写一个Android应用程序,我想将麦克风的信号幅度转换为相应的均方根电压。

我知道我们可以使用getMaxAmplitude()。但我不知道如何将我们从getMaxAmplitude()获得的值转换为RMS电压。

我研究了很多,但没有找到任何东西。感谢。

1 个答案:

答案 0 :(得分:1)

通常设备会为麦克风提供电压。

首先,回答你的问题:我相信你找不到从Android API获得此电压幅度的方法。如果你会发现任何东西,那将是NDK方面的东西,在驱动程序的某个地方深处,因此每个设备将是不同的。

我认为您正在使用需要electret microphone的设备,因为我相信您知道,这通常是有效的:

每个设备将提供略微不同的电压,因此您可能需要测量它。我见过 2.5V 3.2V 4V ,有时这些值可以从驱动程序中的软件端调整,但每个设备的工作方式也会不同。

这些东西并非真正设计为作为范围运行,但它是可行的,特别是如果您只针对一个特定设备。

很抱歉您的项目有坏消息和好运;)