Я предполагаю, что вы ищете замену метода AVAudioPlayer peakPowerForChannel:
. К сожалению, нет. Тебе придется свернуть свое.
"Звуки" OpenAL - это комбинация "буфера" (данных сэмпла, загруженного в память) и "источника", который представляет собой нечто вроде свойств, которые вы хотите применить к данным сэмпла.
Простой подход к воспроизведению OpenAL заключается в загрузке всего файла в память и просто воспроизведении всего этого за один вызов. Однако вы можете использовать NSInputStream для считывания фрагмента данных выборки PCM из файла в буфер OpenAL, использования alBufferData () для вычисления вашей пиковой мощности с использованием собственной функции, воспроизведения фрагмента с использованием источника и повторения до EOF. .
Я знаю, что вы собираетесь использовать Finch, но вы должны дать AudioQueues действительно пристальный обзор (если измерение является для вас критической функцией). Это намного лучше разработано для этого типа заявления. В частности, свойство kAudioQueueProperty_CurrentLevelMeterDB предоставит вам либо пиковые среднеквадратичные значения (mPeakPower), либо средние среднеквадратичные уровни (mAveragePower), которые вы можете читать столько раз, сколько захотите.
Удачи и удачного кодирования!
Некоторые ресурсы, которые могут быть полезны: