我正在尝试在录制后标准化音频文件以使其更响亮,反之亦然,但我收到错误 WARNING AKAudioFile: cannot normalize a silent file
我检查了记录的 audioFile.maxLevel ,它是 1.17549e-38 ,最小浮点数。

我正在使用官方 Recorder example ,并在记录后标准化我添加了以下代码:

let norm = try player.audioFile.normalized(newMaxLevel: -4.0);

我做错了什么?为什么 maxLevel 无效?录音足够响亮。

最佳答案

不要使用播放器的内部音频文件,而是像这样创建一个新实例:

if let file = try? AKAudioFile(forReading: url) {
    if let normalizedFile = try? file.normalized(newMaxLevel: -4) {
        Swift.print("Normalized file sucess: \(normalizedFile.maxLevel)")
    }
}

我可以向 AKAudioPlayer 添加一个 normalize func 以便它可用于播放。本质上,播放器只是使用 AKAudioFile 进行初始化,所有后续操作都发生在一个缓冲区中。

关于ios - AudioKit 文件规范化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47455183/

10-12 04:22