Измерение помогает нам получить усиление звука в децибелах (дБ) во время воспроизведения и записи. Чтобы использовать его, сначала включите измерение для проигрывателя (или рекордера)
audioPlayer.meteringEnabled = TRUE;
[audioPlayer prepareToPlay];
[audioPlayer play];
[NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(getGain:)
userInfo:nil
repeats:YES];
и всякий раз, когда вы хотите получить значения, вы сначала вызываете updateMeters и получаете значение в дБ. Здесь я использую таймер для записи усиления звука для каждой секунды его воспроизведения.
-(void)getGain:(NSTimer*)sender{
[audioPlayer updateMeters];
float avgPower = [audioPlayer averagePowerForChannel:0];
NSLog(@"avgPower : %f",avgPower);
float peakPower = [audioPlayer peakPowerForChannel:0];
NSLog(@"peakPower : %f",peakPower);
}
Вы можете использовать это значение для рисования звуковых сигналов и т. Д. См. ссылку , чтобы получить некоторую помощь для этого ..