iOS AVAudioRecorder 录音频率、声道、位数配置 wav格式

iOS AVAudioRecorder 录音频率、声道、位数配置

#pragma mark 录音设置
- (void)setUP_VOICE_RECOARDER
{
    NSError *error = nil;
    audioSection = [AVAudioSession sharedInstance];
    [audioSection setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
    if (error) {
        NSLog(@"录音配置错误:%@",error);
        [self showBackAlertWith:error.description];
        return;
    }
    
    //16kHZ,单通道,16位,wav
    //[NSNumber numberWithInt:AVAudioQualityHigh],AVEncoderAudioQualityKey,
    NSMutableDictionary* recordSetting = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                          [NSNumber numberWithFloat:16000], AVSampleRateKey,
                                          [NSNumber numberWithInt:kAudioFormatLinearPCM],AVFormatIDKey,
                                          [NSNumber numberWithInt:1], AVNumberOfChannelsKey,
                                          [NSNumber numberWithInt:16], AVLinearPCMBitDepthKey,
                                          [NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey,
                                          [NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey,
                                          nil];
    
    NSURL *recordedTmpFile = [NSURL fileURLWithPath:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent: [NSString stringWithFormat: @"%.0f.%@", [NSDate timeIntervalSinceReferenceDate] * 1000.0, @"wav"]]];  //文件名的设置
    
    
    voiceURL = recordedTmpFile;
    voiceRecorder = [[AVAudioRecorder alloc] initWithURL:recordedTmpFile settings:recordSetting error:NULL];
    NSLog(@"file : %@",recordedTmpFile);
    voiceRecorder.delegate = self;
    voiceRecorder.meteringEnabled = YES;
    [voiceRecorder prepareToRecord];
    
}

 

posted @ 2015-05-24 15:35  cocoajin  阅读(4361)  评论(1编辑  收藏