

[ブロークン画面
Prank](https://play.google.com/store/apps/details?id=com.crack.screen.prank.bfun&hl=ja)という
android アプリ（ios版もあり）は画面が割れたようにみせかける機能をもったいたずらアプリなんですが  
このアプリには「息をふきかけると画面上に炎が燃えるエフェクトが現れる」といく機能があります

**アプリ起動画面**  
[![アプリ起動画面](https://i.stack.imgur.com/2EFJj.jpg)](https://i.stack.imgur.com/2EFJj.jpg)

**息を吹きかけることを促す表示**  
[![息を吹きかけることを促す表示](https://i.stack.imgur.com/J2lN0.jpg)](https://i.stack.imgur.com/J2lN0.jpg)

**息を吹きかけると炎のエフェクトが出る**  
[![画像の説明をここに入力](https://i.stack.imgur.com/Xrrzu.jpg)](https://i.stack.imgur.com/Xrrzu.jpg)

andoroid や ios
のセンサーには風を感知するセンサーはなかったようなんですが（[iOSで使えるセンサー・ハードウェア機能](http://qiita.com/takitakit/items/c84fdac046ef8b0c0b3a)）  
どのようにして息が吹き込まれたことを検知しているんでしょうか？


CC BY-SA 3.0
2016-03-09T20:38:51.567
22960
2016-03-11T15:16:08.407
2016-03-11T15:13:03.987
5505
5505
question
ios android
スマホで息が吹きかけられたことを検知するには？


[自己回答です]

[How to detect blow in android device
microphone](https://stackoverflow.com/questions/8248784/how-to-detect-blow-in-
android-device-microphone)（アンドロイドデバイスのマイクで息を吹きかけたことを検知するには？）

の質問の回答には以下のようにあります。

> The job of detecting when a user blows into the microphone is  
>  separable into two parts: (1) taking input from the microphone and (2)  
>  listening for a blowing sound. The noise/sound of someone blowing into  
>  the mic is made up of low-frequency sounds. We’ll use a low pass  
>  filter to reduce the high frequency sounds coming in on the mic; when  
>  the level of the filtered signal spikes we’ll know someone’s blowing  
>  into the mic.
>
> Source:  
>  <http://mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-
> mic/>
>
> EDIT And here is some small SoundMeter class for Android:  
>  <http://code.google.com/p/android-
> labs/source/browse/trunk/NoiseAlert/src/com/google/android/noisealert/SoundMeter.java?r=2>

つまり、息や風を感知するセンサーが端末に搭載されているわけではなく  
マイクのノイズを検知して息が吹きかけられた音を聞いて炎のエフェクトを出しているんです

Youtubeで動画撮りました  
<https://youtu.be/FDg-BKu9CIE>

PCでYoutubeを開いて「風の音」という動画を再生し  
アンドロイドのマイクに風の音を聞かせています  
結果： 炎のエフェクトがでました


CC BY-SA 3.0
2016-03-09T20:43:40.883
22961
2016-03-11T15:16:08.407
2017-05-23T12:38:56.083
-1
5505
22960
answer