2011-11-23 16 views
5

¿Cómo puedo detectar cuándo el usuario sopla en el micrófono del dispositivo? Esto luego se usaría para activar alguna acción de la aplicación.Cómo detectar golpes en el micrófono del dispositivo Android

+1

Desde el punto de vista del diseño, tenga cuidado con esta función. Lo usamos en un juego de DS (My Word Coach), y el jugador se mareó. :) – Almo

Respuesta

8

El trabajo de detectar cuando un usuario sopla en el micrófono se puede separar en dos partes: (1) tomando entrada desde el micrófono y (2) escuchando por un sonido de soplo. El ruido/ruido de alguien que sopla en el micrófono se compone de sonidos de baja frecuencia. Utilizaremos un filtro de paso bajo para reducir los sonidos de alta frecuencia que entran en el micrófono; cuando el nivel de los picos de la señal filtrada sabremos que alguien está soplando en el micrófono.

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

EDITAR Y aquí es un pequeño SoundMeter clase para Android: http://code.google.com/p/android-labs/source/browse/trunk/NoiseAlert/src/com/google/android/noisealert/SoundMeter.java?r=2

+2

El enlace superior es para iOS :( – MinceMan

+0

@ user849998 realmente buena respuesta. Pero para ios es un buen ejemplo pero no para Android. ¿Conoces alguna alternativa? –

0

me gustaría hacer y FFT y comparar el espectro con el de los sonidos más sensibles . El golpe probablemente se parecerá al ruido blanco. Antes de ver los espectros del golpe, el habla y el ruido blanco, no tengo idea de cómo distinguir uno de otro.

Cuestiones relacionadas