#objective-c #avaudioplayer #metering
#objective-c #avaudioplayer #измерение
Вопрос:
Пытаюсь реализовать AVAudioPlayer и получить некоторые данные замера воспроизводимой музыки, но по-прежнему получаю значение -160. Это выглядит простым в использовании, просто включите счетчик, а затем снимайте данные по таймеру, но пока никаких результатов.
playerAV = [[Выделение AVAudioPlayer] initWithContentsOfURL: ошибка вывода: ноль]; playerAV.delegate = self; playerAV.meteringEnabled = ДА; [playerAV prepareToPlay]; [Воспроизведение в режиме воспроизведения]; NSLog (@"Пик слева: % f Среднее значение справа: % f", [Максимальная мощность для канала playerAV: 0], [Средняя мощность для канала playerAV: 1]);
любые мысли приветствуются.
Ответ №1:
Ты звонишь updateMeters
? В документах для обоих peakPowerForChannel:
и averagePowerForChannel:
говорится:
Чтобы получить текущее значение […], вы должны вызвать
updateMeters
метод перед вызовом этого метода.
Ответ №2:
Откуда вы знаете, что URL работает, и данные в конце его имеют правильный формат? Вы слышите звук, доносящийся из динамиков?
Вы каким-то образом создаете два объекта playerAV, один с правильным URL, который воспроизводится, другой с неправильным URL, который ничего не воспроизводит, и именно его видит таймер при вызове NSLog ()?