SCListener类进行麦克风的监听的问题和解决方法


还有相应的解决方法

我用SCListener类进行麦克风的监听(已经成功),但是发现,在监听中不能播放游戏音乐,有哪位大虾可以给与指点?

OK,经过那么多天的崩溃。。。终于解决了,在此分享下吧!
UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
ps:我用SCListener监听,AVAudioPlayer播放!


再来补充下,如觉得声音太小,以下代码可以解决问题:
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);



blowTimer = [NSTimer timerWithTimeInterval: 1 
target: self 
selector: @selctor(checkBlow) 
userInfo: nil
repeats: YES];

[[NSRunLoop currentRunLoop] addTimer: blowTimer
forMode: NSDefaultRunLoopMode];

[[SCListener sharedListener] listen];

This code will basically fire up the listener, and call the checkBlow method every second.

The code for checkBlow will look something like this:

- (void) checkBlow
{
if ([SCListener sharedListener] != nil)
{
Float32 volume = [[SCListener sharedListener] peakPower];

if (volume > BlowingTriggerThreshold)
{
//DO SOMETHING AWESOME HERE
}
}
}

你可能感兴趣的:(【开发技术】IOS)