Значения счетчика AVAudioPlayer по-прежнему - 160 - PullRequest
2 голосов
/ 22 мая 2011

Попытка реализовать AVAudioplayer и получить некоторые данные измерений воспроизводимой музыки, но все равно получает значение -160.Он выглядит простым в использовании, просто включите измеритель, а затем получите данные под таймером, но пока никаких результатов.

playerAV = [[AVAudioPlayer alloc] initWithContentsOfURL:outURL error:nil];
        playerAV.delegate = self;


        playerAV.meteringEnabled = YES;

        [playerAV prepareToPlay];
        [playerAV play];

NSLog(@"Peak left: %f Avg right: %f", [playerAV peakPowerForChannel:0],[playerAV averagePowerForChannel:1]);

любые мысли приветствуются.

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

Вы звоните updateMeters? Документы для peakPowerForChannel: и averagePowerForChannel: говорят:

Чтобы получить текущее [...] значение, вы должны вызвать метод updateMeters перед вызовом этого метода.

1 голос
/ 22 мая 2011

Откуда вы знаете, что URL работает, и данные в конце имеют правильный формат? Вы слышите звук из динамиков?

Вы как-то создаете два объекта playerAV, один с правильным URL, который воспроизводит, другой с плохим URL, который ничего не воспроизводит, и тот, который таймер видит, когда вызывает NSLog ()?

...