objective-c - 在录制mac os x sdk时检测静音

标签 objective-c macos core-audio audio-recording

我一直在努力检测录音过程中的静音。

我成功地录制和播放了录制的音频,但对静音检测一无所知。

为了记录,我使用了:https://github.com/darcyliu/CocoaSampleCode/tree/master/AVCaptureToAudioUnitOSX 适用于核心音频 API。

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

谢谢

最佳答案

您可以使用 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];

关于objective-c - 在录制mac os x sdk时检测静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25685612/

相关文章:

objective-c - SoundCloud API Apple Mach-O 链接器 (Id) 错误

python - Apple Automator 处理 csv 文件并创建新文件

java - Rubymine - 在 Mac 操作系统上找不到 Java 运行时,但它在终端中

ios - 录制带有附加效果的音频

swift - AVAudioPCMBuffer 以编程方式构建,不以立体声播放

ios - AVPlayer支持2.35 :1 Cinematic Ratio

iphone - IOS应用切换动画 "A"与动画 "B"在同一个地方

iOS8 框架库链接没有 Pod

c++ - 如何使用c++以编程方式从操作系统中的pid获取uid?

macos - 如何在OSX中获得音频回避?