【发布时间】:2021-07-15 20:27:15
【问题描述】:
我找不到任何示例来说明如何导出通过 AudioKit 的 5 个过滤器传输的音频。
我想为音频添加一些效果(如混响等),然后导出过滤后的音频
这是我的尝试:
// load empty file to write
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let dstURL:URL = docs.appendingPathComponent("rendred.caf")
var audioFile:AVAudioFile!
do {
audioFile = try AVAudioFile(forReading: dstURL)
} catch {
Log("Could not load file")
}
// duration of audio after add some effects
let duration = self.conductor.player.duration
let rendredTime = Double(duration)
// using AudioEngine() to export mixed audio but it's not work <----????
do {
try? self.conductor.engine.renderToFile(audioFile, duration: rendredTime, prerender: {
self.conductor.player.play()
})
}
我不确定renderToFile() 函数是如何工作的
【问题讨论】:
-
您的问题是什么?就您上面发布的代码而言,有什么问题?
-
您想要实现的导出流程是怎样的?您要导出什么类型的音频?音频是来自触发样本、本地音频文件还是来自内置麦克风的实时输入?您是想导出音频以与他人分享(通过电子邮件、SoundCloud、短信等),还是只想播放应用了效果的渲染剪辑?
-
@MarkJeschke 我正在尝试在卡拉OK等背景音乐中录制普通音频,但我不确定如何合并两个音频并使用“renderToFile()”函数将其导出