當初我是設計了白天模式與夜晚模式可以切換,白天模式(其實也不一定是白天用,就是手動模式)可以自已選曲,自已手動啟動,就像是個音樂盒,大人可以手動播音樂給baby聽。夜間模式就是大家都睡了的時侯,他會自動偵測是不是有baby的哭聲,如果偵測到了,就會自已播放音樂安撫baby。
怎麼去設定感應的敏感度下次再談,等一下要出門去吃喜酒,先把怎麼設感應聲音的功能分享一下,免得又忘了。
在.h先import AVFoundation
#import <AVFoundation/AVFoundation.h>
然後宣告
AVAudioRecorder *recorder;
在.m的ViewDidLoad裡init recorder
recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];
設定一個NSTimer固定頻率去偵測有沒有哭聲
-(void)levelTimerCallback:(NSTimer *)timer{
[recorder updateMeters];
const double ALPHA = 0.05;
double peakPowerForChannel = pow(10, (0.05 *[recorder peakPowerForChannel:0]));
lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults;
if (pause = NO) {
if (lowPassResults > senseValue) {
NSLog(@"baby cry detected");
[playSong play];
playing = YES;
[playStatus setImage:[UIImage imageNamed:@"StopIcon.png"]];
}
}
}
先出門了,還沒完,下次再補...sorry....
0 意見:
張貼留言