2011-11-23 7 views
5

ユーザーがデバイスマイクに吹いたときをどうやって検出できますか?これは、アプリによって何らかのアクションを引き起こすために使用されます。アンドロイドデバイスマイクのブローを検出する方法

+1

デザインの観点からは、この機能には注意が必要です。私たちはDSゲーム(My Word Coach)でそれを使用し、プレイヤーはそれをめちゃくちゃにしました。 :) – Almo

答えて

8

ユーザーがマイクロホンに吹いたときを検出する仕事は、(1)マイクロフォンからの入力を取得することと、(2)吹いている音を聴くことの2つの部分に分離することです。 マイクに吹いている人の騒音/音は、低周波音で構成されています。ローパスフィルターを使用して、マイクに入ってくる高周波音を減らします。フィルタリングされた信号のレベルが急上昇すると、誰かがマイクに吹き込んでいることがわかります。

出典: 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本当に素敵な答えです。しかし、それは良い例ですがアンドロイドではありません。 –

0

私が作るとFFTと、より賢明な音のことでスペクトルを比較します: そして、ここでは、Androidのためのいくつかの小さなSoundMeterクラスです http://mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-mic/

EDIT 。打撃は白い騒音と似ているだろう。ブロー、スピーチ、ホワイトノイズのスペクトラムを見る前に、どのようにして誰かに伝えるかわかりません。

関連する問題