我正在尝试构建一个使用 Android 检测手枪射击的小工具。它是手枪射手训练辅助工具的一部分,它告诉我射击是如何及时分布的,我使用 HTC Tattoo 进行测试。
我使用 MediaRecorder 及其 getMaxAmplitude 方法在最后 1/100 秒内获得最高振幅,但它没有按预期工作; speech 给了我 getMaxAmplitude 的值,范围从 0 到大约 25000,而手枪射击(或喊叫!)仅达到大约 15000。采样频率为 8kHz 时,应该有一些样本具有相当高的电平。
有人知道这些东西是如何工作的吗?在注册最大振幅之前是否应用了过滤器。如果有,是硬件还是软件?
谢谢, /乔治
最佳答案
似乎有一个 AGC(自动增益控制)过滤器。您还应该能够通过频率特征来识别镜头。我预计它会出现在大部分可听频谱中,但请使用频谱分析仪(应用程序市场上有一些,如 SpectralView)并尝试通过其频率“特征”和振幅来识别事件。如果你拍手,你会得到什么最大振幅?您也可以尝试用一些东西盖住手机以消除声音,例如几层布
关于android - 麦克风输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2477308/