0

вот мой код для записи теперь, как можно получить вход звука уровня в микрофон на образце UIlable числа флоатИОС, получить микрофонные updateMesters уровня поплавка, когда микрофон записи звука

я думаю, что я буду использовать эту функцию, но как может Я использую это в rec.h & rec.m файл

(недействительные) updateMeters

AVAudioSession * audioSession = [AVAudioSession sharedInstance]; 
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; 
[audioSession setActive:YES error:nil]; 
NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init]; 
[recordSetting setValue :[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey]; 
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; 
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey]; 
recordedTmpName = [[NSString alloc] initWithFormat:@"%.0f.%@", [NSDate timeIntervalSinceReferenceDate] * 1000.0, @"aac"]; 
temporaryRecFile= [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:recordedTmpName]]; 
recorder = [[ AVAudioRecorder alloc] initWithURL:temporaryRecFile settings:recordSetting error:nil]; 
[recorder setDelegate:self]; 
[recorder prepareToRecord]; 
[recorder record]; 

ответ

2

во время записи, вы должны вызвать updateMeters периодически, и получить среднюю мощность по - (поплавок) averagePowerForChannel: (NSUInteger) номер_канал

[recorder setDelegate:self]; 
[recorder prepareToRecord]; 
recorder.meteringEnabled = YES; 
[recorder record]; 
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(handleTimer) userInfo:nil repeats:YES]; 




- (void) handleTimer 
{ 
    [recorder updateMeters]; 
    label.text = [NSString stringWithFormat:@"lf",[recorder averagePowerForChannel:0]]; 
} 

Чтобы увидеть больше информации, вы можете посетить AVAudioRecorder Class Reference