이 코드는 짜증납니다. 나는 오디오를 녹음하는 동안 averagePowerForChannel 및 peakPowerForChannel를 얻기 위해 노력하고 있어요,하지만 때마다 나는 0.0 아래AVAudioRecorder의 채널에 대한 AveragePower 및 PeakPower 받기
로 얻고있다 기록 오디오 내 코드 :
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]);
}
코드에서 오류가 무엇입니까? ??
고맙습니다! 나는 그것을 놓쳤다는 것을 믿을 수 없다. (그것이 'meteringEnabled'입니다. 채널 수와는 무관합니다.) – Kalle