在录制过程中检测到沉默mac os x sdk

问题描述:

我一直在努力在录制过程中检测到沉默。在录制过程中检测到沉默mac os x sdk

我在录制和播放录制的音频方面很成功,但对静音检测一无所知。

对于录音,我曾经使用过:https://github.com/darcyliu/CocoaSampleCode/tree/master/AVCaptureToAudioUnitOSX 它对核心音频api有效。

任何帮助对我来说都是一个福音。

谢谢

您可以使用AVAudioRecorder但是这并不是解决您的问题一个完美的方式。

NSDictionary *settings [email protected]{AVSampleRateKey:@(22050.0), 
          AVFormatIDKey:@(kAudioFormatLinearPCM), 
          AVNumberOfChannelsKey:@(1), 
          AVEncoderAudioQualityKey:@(AVAudioQualityMax), 
          AVLinearPCMBitDepthKey:@(32), 
          AVLinearPCMIsBigEndianKey:@(NO), 
          AVLinearPCMIsFloatKey:@(NO)}; 
AVAudioRecorder *recorder = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:@"/dev/null"] settings:setting error:nil]; 
[recorder prepareToRecord]; 
[recorder setMeteringEnabled:YES]; 
[recorder record]; 
NSTimer *levelTimer = [NSTimer scheduledTimerWithTimeInterval:0.3f target:self selector:@selector(levelTimerCallback:) userInfo:nil repeats:YES]; 

然后在levelTimerCallback:方法

[recorder updateMeters]; 
CGFloat peak = [recorder peakPowerForChannel:0] 
CGFloat average = [recorder averagePowerForChannel:0];