我对Audiokit的renderToFile方法有问题。我有一个AKClipPlayer,从位置0.0开始有一个剪辑。我需要将AKClipPlayer生成的回放呈现到文件中。
func preRender() {
self.clipPlayer.play()
}
let writeFile = try AKAudioFile()
guard let duration = self.musicPlayer.clips.first?.duration else {
let error = makeError(message: "No track file")
failure(error)
return
}
self.clipPlayer.volume = 1.0
preparePlayers()
try AudioKit.renderToFile(writeFile, duration: duration,
prerender: preRender)
第一曲目是录制的音频剪辑。其次是第一个渲染结果。文件在开头被截断。如果我将另一个剪辑添加到clipPlayer并重复渲染-第一个剪辑将变得不同步。第二个与点击同步。
问题是我做错了什么?渲染时如何使所有剪辑同步。如果我只是从剪辑播放器播放音频,则所有内容都会完美同步。
我正在使用版本10.3(10G8)和AudioKit v4.7.2
要解决此问题-我添加了一个空剪辑作为clipPlayer.clips的第一个元素。这将阻止剪辑取消同步。