我正在编写一个Android应用程序,我想将麦克风的信号幅度转换为相应的均方根电压。
我知道我们可以使用getMaxAmplitude()
。但我不知道如何将我们从getMaxAmplitude()
获得的值转换为RMS电压。
我研究了很多,但没有找到任何东西。感谢。
答案 0 :(得分:1)
通常设备会为麦克风提供电压。
首先,回答你的问题:我相信你找不到从Android API获得此电压幅度的方法。如果你会发现任何东西,那将是NDK方面的东西,在驱动程序的某个地方深处,因此每个设备将是不同的。
我认为您正在使用需要electret microphone的设备,因为我相信您知道,这通常是有效的:
每个设备将提供略微不同的电压,因此您可能需要测量它。我见过 2.5V , 3.2V 或 4V ,有时这些值可以从驱动程序中的软件端调整,但每个设备的工作方式也会不同。
这些东西并非真正设计为作为范围运行,但它是可行的,特别是如果您只针对一个特定设备。
很抱歉您的项目有坏消息和好运;)