http://blog.csdn.net/like7xiaoben/article/details/9093037
(新版录音机技术支持——by lyywhg)
初始化AVAudioRecorder并设置录音的参数和存储地址:
- //录音设置
- NSMutableDictionary *recordSetting = [[[NSMutableDictionary alloc]init] autorelease];
- //设置录音格式 AVFormatIDKey==kAudioFormatLinearPCM
- [recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
- //设置录音采样率(Hz) 如:AVSampleRateKey==8000/44100/96000(影响音频的质量)
- [recordSetting setValue:[NSNumber numberWithFloat:44100] forKey:AVSampleRateKey];
- //录音通道数 1 或 2
- [recordSetting setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
- //线性采样位数 8、16、24、32
- [recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
- //录音的质量
- [recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityHigh] forKey:AVEncoderAudioQualityKey];
- NSString *strUrl = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
- NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/lll.aac", strUrl]];
- urlPlay = url;
- NSError *error;
- //初始化
- recorder = [[AVAudioRecorder alloc]initWithURL:url settings:recordSetting error:&error];
- //开启音量检测
- recorder.meteringEnabled = YES;
- recorder.delegate = self;
识别音量的大小,从而显示不同的图片,来呈现出音量图波动
- [recorder updateMeters];//刷新音量数据
- //获取音量的平均值 [recorder averagePowerForChannel:0];
- //音量的最大值 [recorder peakPowerForChannel:0];
- double lowPassResults = pow(10, (0.05 * [recorder peakPowerForChannel:0]));
- NSLog(@"%lf",lowPassResults);
- //最大50 0
- //图片 小-》大
- if (0<lowPassResults<=0.06) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_01.png"]];
- }else if (0.06<lowPassResults<=0.13) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_02.png"]];
- }else if (0.13<lowPassResults<=0.20) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_03.png"]];
- }else if (0.20<lowPassResults<=0.27) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_04.png"]];
- }else if (0.27<lowPassResults<=0.34) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_05.png"]];
- }else if (0.34<lowPassResults<=0.41) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_06.png"]];
- }else if (0.41<lowPassResults<=0.48) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_07.png"]];
- }else if (0.48<lowPassResults<=0.55) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_08.png"]];
- }else if (0.55<lowPassResults<=0.62) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_09.png"]];
- }else if (0.62<lowPassResults<=0.69) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_10.png"]];
- }else if (0.69<lowPassResults<=0.76) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_11.png"]];
- }else if (0.76<lowPassResults<=0.83) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_12.png"]];
- }else if (0.83<lowPassResults<=0.9) {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_13.png"]];
- }else {
- [self.imageView setImage:[UIImage imageNamed:@"record_animate_14.png"]];
- }
demo 的下载地址: 点击去下载。。