在录制过程中检测到沉默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];