Ответ Махбоуда является правильным, хотя я обнаружил, что этот метод более отзывчив, чем "peakPowerForChannel":
- (float)averagePowerForChannel:(NSUInteger)channelNumber
Затем я перевел значение с плавающей точкой в несколько более полезную шкалу от 0 до 10 с помощью этого вычисления: (Обязательно используйте MIN и MAX, чтобы обеспечить выполнение числа, находящегося в диапазоне, потому что в редких случаях оно может выходить за пределы 0 -10.)
//
// Decrease the divisor to increase the responsiveness
//
int translatedValue = (averagePowerFloat / 6 + 11);
Затем у меня есть цикл в фоновом потоке, который вызывает updateMeters 10 раз в секунду и обновляет индикатор выполнения с уровнем записи. Кажется, работает очень хорошо.