在录制 mac os x sdk 期间检测静音
Posted
技术标签:
【中文标题】在录制 mac os x sdk 期间检测静音【英文标题】:Detect silence during recording mac os x sdk 【发布时间】:2014-09-05 12:11:16 【问题描述】:在录制过程中我一直在努力检测静音。
我成功录制和播放录制的音频,但不知道静音检测。
为了录音,我用过:https://github.com/darcyliu/CocoaSampleCode/tree/master/AVCaptureToAudioUnitOSX 它适用于核心音频 api。
任何帮助对我来说都是一个福音。
谢谢
【问题讨论】:
【参考方案1】:您可以使用AVAudioRecorder
,但这不是解决问题的完美方法。
NSDictionary *settings =@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];
【讨论】:
以上是关于在录制 mac os x sdk 期间检测静音的主要内容,如果未能解决你的问题,请参考以下文章
Swift 4 - 在 mac os 上使用 AVAssetWriter 进行 avfoundation 屏幕和音频录制 - 视频冻结