2011-11-23 12 views
5

Come posso rilevare quando l'utente soffia nel microfono del dispositivo? Questo verrà quindi utilizzato per attivare un'azione dall'app.Come rilevare il colpo nel microfono del dispositivo Android

+1

Dal punto di vista del design, fare attenzione a questa funzione. L'abbiamo usato su un gioco di DS (My Word Coach), e il giocatore finì per sentirsi stordito. :) – Almo

risposta

8

Il lavoro di rilevamento quando un utente soffia nel microfono è separabile in due parti: (1) prendendo l'input dal microfono e (2) ascoltando un suono soffiato. Il rumore/suono di qualcuno che soffia nel microfono è costituito da suoni a bassa frequenza. Useremo un filtro passa-basso per ridurre i suoni ad alta frequenza che arrivano sul microfono; quando il livello del segnale filtrato aumenta, sapremo che qualcuno sta soffiando nel microfono.

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

EDIT Ed ecco qualche piccola SoundMeter classe per Android: http://code.google.com/p/android-labs/source/browse/trunk/NoiseAlert/src/com/google/android/noisealert/SoundMeter.java?r=2

+2

Il link principale è per iOS :( – MinceMan

+0

@ user849998 risposta davvero bella, ma per iOS è un buon esempio ma non per Android. Conoscete qualche alternativa? –

0

avrei fatto e FFT e confrontare lo spettro con quello dei suoni più sensibili . Il colpo sarà probabilmente simile al rumore bianco. Prima di vedere gli spettri del soffio, della parola e del rumore bianco, non ho idea di come distinguere l'uno dall'altro.

Problemi correlati