录音点击开始



在应用程序中开始录制时,我听到一个点击声。我不知道它是从哪里来的,以为它可能来自点击按钮,但这似乎有些牵强。

这是我正在使用的代码:

private var recorderSettings: [String: Any] {
[
AVFormatIDKey: NSNumber(value: kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100.0,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
}
audioRecorder = try AVAudioRecorder(url: fileUrl, settings: recorderSettings)
try audioSession.setCategory(.playAndRecord, mode: .default, options: [])
audioRecorder?.isMeteringEnabled = true
audioRecorder?.record()
meteringTimer = Timer.scheduledTimer(withTimeInterval: 0.05, repeats: true, block: { (timer) in
self.audioRecorder?.updateMeters()
self.soundSamples[self.currentSample] = self.audioRecorder?.averagePower(forChannel: 0) ?? 0
self.currentSample = (self.currentSample + 1) % self.numberOfSamples
})

A"点击";通常是脉冲音频值(例如,0的流中的单个1(或显著非线性(例如,从0跳入或跳出全音量信号(的指示。这可能不是按键或鼠标点击的真实声音!(实验:在点击时间和录音开始之间设置一个固定的延迟,看看点击是否仍然可以听到。(

如果苹果公司没有内置功能来处理这个常见问题,也许你可以在录音开始时逐渐调高音量。在1/50秒的过程中的衰减可能足以避免可听信号的不连续性。在我的Java音频编码中,我经常在44100 fps的数据上使用1/40秒或更短的淡入淡出,作为从音量a瞬间切换到音量B的替代方案。(在您的情况下,卷A是0,卷B是您的录音卷。(

最新更新