Android 分析麦克风输入

Android 分析麦克风输入,android,audio,Android,Audio,我正试图触发一个基于音频输入的事件,但我不知道该怎么做。在网上搜索,我找到了许多关于如何将音频录制到文件的教程,但没有找到关于如何分析麦克风输入的教程 如果我能想出如何说,根据音量设置UI的动画,比如在语音搜索过程中上下移动的条,我希望能想出其余的。我不想做任何像语音识别这样复杂的事情,我只是用它来检测从其他设备通过3.5毫米麦克风接收到的信号 在这一点上,我甚至不知道我应该寻找什么 谢谢你的帮助。从理论上讲,你要学习的东西叫做“傅里叶变换”。但是,我建议您使用一个立即适用的实际应用程序 我希望

我正试图触发一个基于音频输入的事件,但我不知道该怎么做。在网上搜索,我找到了许多关于如何将音频录制到文件的教程,但没有找到关于如何分析麦克风输入的教程

如果我能想出如何说,根据音量设置UI的动画,比如在语音搜索过程中上下移动的条,我希望能想出其余的。我不想做任何像语音识别这样复杂的事情,我只是用它来检测从其他设备通过3.5毫米麦克风接收到的信号

在这一点上,我甚至不知道我应该寻找什么


谢谢你的帮助。

从理论上讲,你要学习的东西叫做“傅里叶变换”。但是,我建议您使用一个立即适用的实际应用程序

我希望这有帮助


-Brian J.Stinar-

是否有可能构建一个应用程序,在通话中分析我自己的声音,并在前台或后台实时显示振幅。或者,如果我的声音超过一定的幅度,就会触发本地通知(在通话过程中)。

这应该有助于分配!我的应用程序将类似于他的,它将监听和计时脉冲,但我不应该有音量问题。有没有一种不保存到文件的“记录”方法?我只想让我的应用程序听音频,我永远不需要保存或重放它。如果我不设置输出文件,它会工作吗?您好,我不完全确定,但它看起来像GetMaxAmpliance()“返回自上次调用此函数以来采样的最大绝对振幅”,因此,看起来您可以有一个采样间隔,沿此间隔调用此函数,它会给你这个采样周期的最大振幅。我想。尝试下面链接中提供的示例,只是不要调用recorder.setOutputFile(),看看会发生什么。因为我实际上没有安卓系统,也没有仿真平台,所以我不能轻易尝试。。。如果确实需要文件,请尝试搜索临时文件。我打赌android提供了一个临时文件API。如果没有,如果需要调用setOutputFile(),则始终可以在末尾丢弃文件。祝你好运好的,有一个创建临时文件的系统,但是这个应用程序会持续监听很长时间,可能是几个小时。如何确保录制时文件大小不会失控?我将继续并选择这个作为我的答案,因为它可以正常工作。问题是我需要以最长5毫秒的间隔进行采样,如果我尝试每200毫秒多次调用GetMaxAmpliance(),我会发现它在输入和0之间闪烁。。。看来我得看看通过AudioReader输入的字节,而不是使用MediaRecorder。