Chciałbym zapytać o problem z wykrywaniem poziomu głośności prostego mikrofonu. Mój kod działa dobrze z iOS 6 lub niższej, ale nie iOS 7, mój kod wygląda następująco:Mikrofon nie działa na iOS 7
-(void)viewDidLoad{
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey,
nil];
NSError *error;
recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];
if (recorder) {
[recorder prepareToRecord];
recorder.meteringEnabled = YES;
[recorder record];
} else{
NSLog([error description]);
}
}
// then call periodically with the following method, volumeLevelSampling
-(void)volumeLevelSampling{
[recorder updateMeters];
NSLog(@"Average input: %f Peak input: %f", [recorder averagePowerForChannel:0], [recorder peakPowerForChannel:0]);
}
To działa perfekcyjnie w iOS 6, jednak nie jest to próbkowanie niczego w iOS 7. Wynik jest zawsze - 120.
mam przeżywa ten sam problem i kiedy sprawdzić w Settings.app moja aplikacja _jest_ upoważniony do korzystania z mikrofon. – Shizam
@EricPoon ... Czy możesz to naprawić? Ponieważ mam aplikację, w której nie mogę nagrać dźwięku z mikrofonu, ale tylko z iPad Air i iOS 7. – Beto