2011-11-23 61 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和頻譜與更明智的聲音比較。這種打擊可能會像白噪音。在看到打擊,言語和白色噪音的頻譜之前,我不知道如何告訴另一個人。