我正在尝试在录制后标准化音频文件以使其更响亮,反之亦然,但我收到错误 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/