【问题标题】:Sound recording click in beginning录音点击开始
【发布时间】:2021-08-10 10:16:26
【问题描述】:

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

这是我正在使用的代码:

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
})

【问题讨论】:

  • 这是在物理设备上还是模拟器上?
  • 设备上的@Adrian
  • 我以前没有在设备上录制过,但我想看看苹果的在线文档。我最近在设备上进行了播放,最终在AppDelegate 中准备好了音频? stackoverflow.com/a/66937105/4475605

标签: ios swift audio audio-recording audio-processing


【解决方案1】:

“咔哒”声通常表示脉冲音频值(例如,0 流中的单个 1)或显着非线性(例如,跳入或跳出来自0)。这可能不是按键或鼠标点击的实际声音! (实验:在点击时间和录音开始之间设置一个固定的延迟,看看是否还能听到点击声。)

如果 Apple 没有内置功能来处理这一常见问题,也许您可​​以通过在开始时逐渐降低音量来开始录制。在 1/50 秒的过程中渐强可能足以避免声音信号不连续。在我的 Java 音频编码中,我经常在 44100 fps 数据上使用 1/40 秒或更短的渐变来替代从音量 A 到音量 B 的瞬时变化。 (在您的情况下,音量 A 为 0,音量 B 是您的录音音量。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多