2010-04-21 4 views
0

Меня раздражает эта часть кода. Я пытаюсь получить averagePowerForChannel и peakPowerForChannel во время записи аудио, но каждый раз, когда я получаю его как 0.0Получение AveragePower и PeakPower для канала в AVAudioRecorder

Ниже приведен код для записи аудио:

NSMutableDictionary *recordSetting =[[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithFloat: 22050.0], AVSampleRateKey, 
      [NSNumber numberWithInt: kAudioFormatLinearPCM], AVFormatIDKey, 
      [NSNumber numberWithInt: 1], AVNumberOfChannelsKey, 
      [NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey, 
      [NSNumber numberWithInt:32],AVLinearPCMBitDepthKey, 
      [NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey, 
      [NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey, 
      nil]; 

recorder1 = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:audioFilePath] settings:recordSetting error:&err]; 
recorder1.meteringEnabled = YES; 
recorder1.delegate=self; 
[recorder1 prepareToRecord]; 
[recorder1 record]; 
levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.3f target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES]; 

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

[recorder1 updateMeters]; 

NSLog(@"Peak Power : %f , %f", [recorder1 peakPowerForChannel:0], [recorder1 peakPowerForChannel:1]); 
NSLog(@"Average Power : %f , %f", [recorder1 averagePowerForChannel:0], [recorder1 averagePowerForChannel:1]); 

} 

Что такое ошибка в коде? ??

ответ

2

Я думаю, что если вы установите AVNumberOfChannelsKey на 2 ... он будет работать.

4

Я думаю, вам нужно использовать свойство meteringEnabled после того, как вы подготовилиToRecord. И только комментарий - это часть, в которой вы указываете количество каналов как 1. Позвольте использовать значения по умолчанию. Надеюсь, поможет.

+0

СПАСИБО! Не могу поверить, что я пропустил это. (Это «meteringEnabled». Количество каналов не имеет значения, я уверен.) – Kalle

 Смежные вопросы

  • Нет связанных вопросов^_^