如何检测 AVAudioRecorder 中的静音?
Posted
技术标签:
【中文标题】如何检测 AVAudioRecorder 中的静音?【英文标题】:How to dectect silence in AVAudioRecorder? 【发布时间】:2011-05-24 16:30:01 【问题描述】:我使用 AVAudioRecorder 进行录音。目前我使用averagePowerForChannel
和peakPowerForChannel
来显示动态仪表。
我怎样才能检测到静音(1 秒钟内没有人说话)并停止录音?
【问题讨论】:
如何在使用 AVAudiorecorder 录制音频时过滤初始静音持续时间。如果有任何可能性,请告诉我。 【参考方案1】:好吧,如果您已经显示了仪表,那么您肯定已经知道答案了吗?
您可以简单地将最后 n 个读数相加,其中 n 是您每秒读取的读数数量,然后如果该值小于您设置的某个阈值,您可以将其声明为静音。
【讨论】:
由于在不同的环境中会有不同的背景噪音,我正在寻找一个相对阈值,而不是在我的工作台上硬编码值;-) 有什么想法吗? 那么您所需要的只是一个自适应阈值 - 您可以通过对最近 x 秒内确定的 LOWEST 功率值进行平均来获得它。以上是关于如何检测 AVAudioRecorder 中的静音?的主要内容,如果未能解决你的问题,请参考以下文章
iPhone AVAudioRecorder,AudioQueueServices,检测到声音时如何自动录制音频