Определить амплитуду аудиофайла в секунду? - PullRequest
2 голосов
/ 13 июля 2011

Я хочу определить амплитуду в дБ аудиофайла в секунду, используя iPhone SDK. Мне нужна эта функциональность для анимации рта объекта в соответствии с величиной дБ звукового файла в секунду. Как я могу это сделать ? С какой аудио рамкой это возможно? У вас есть ссылки на примеры?

Ответы [ 2 ]

5 голосов
/ 14 июля 2011

Я нашел решение по этой проблеме

Я использовал метод peakPowerForChannel и averagePowerForChannel AVAudioPlayer для получения децибел

  AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordedTmpFile error:&error];
    avPlayer.delegate = self;

    avPlayer.meteringEnabled = YES;
     [avPlayer prepareToPlay];
     [avPlayer play];


 NSTimer *levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.03 target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES];

Этот метод возвращает пиковый пикPowerForChannel и averagePowerForChannel

- (void)levelTimerCallback:(NSTimer *)timer {

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


}
1 голос
/ 13 июля 2011

Вроде хорошо, не знаю программирования для iPhone, но извините: http://www.politepix.com/2010/06/18/decibel-metering-from-an-iphone-audio-unit/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...