0
마이크에 평균 전력을 사용하여 게임 응답을 트리거하는 앱을 프로그래밍하려고합니다. 나는 -init
에 다음 코드를 사용하고 : 내 방법마이크 입력이 휴대폰이 아닌 시뮬레이터에서 작동 중임
NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithFloat: 44100.0], AVSampleRateKey, [NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,[NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey,il];
NSError *error;
recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];
if (recorder) {
[recorder prepareToRecord];
recorder.meteringEnabled = YES;
[recorder record];
levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.03 target: self selector: @selector(myMethod:) userInfo: nil repeats: YES];
이 soundLevel = [레코더 averagePowerForChannel : 0] 부동 ;
트리거링은 시뮬레이터에서 정상적으로 작동하지만 테스트 할 때 내 휴대 전화에 올려 놓으면 작동하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
이 솔루션을 사용하면 마이크가 작동하는 데 도움이되었습니다. http://stackoverflow.com/questions/6350420/how-to-detect-a-blow-in-the-microphone-with-unity-and-ios – user3293557