2011-11-23 62 views
5

如何检测用户何时吹入设备麦克风?这将被用于触发应用程序的某些操作。如何检测Android设备麦克风中的打击

+1

从设计的角度来看,要小心这个功能。我们在DS游戏(My Word Coach)上使用它,玩家最终从头晕了起来。 :) – Almo

回答

8

检测用户什么时候吹进麦克风的工作可以分为两部分:(1)从麦克风获取输入,(2)收听吹奏声音。 有人吹入麦克风的噪音/声音由低频声音组成。我们将使用低通滤波器来降低麦克风发出的高频声音;当过滤信号的电平突然升高时,我们会知道有人正在吹入麦克风。

来源: http://mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-mic/

编辑 这里是Android的一些小SoundMeter类: http://code.google.com/p/android-labs/source/browse/trunk/NoiseAlert/src/com/google/android/noisealert/SoundMeter.java?r=2

+2

顶部的链接是iOS的:( – MinceMan

+0

@ user849998真的很好的答案。但对于ios这是一个很好的例子,但不适用于android。你知道任何替代它吗? –

0

我会做和FFT和频谱与更明智的声音比较。这种打击可能会像白噪音。在看到打击,言语和白色噪音的频谱之前,我不知道如何告诉另一个人。