У меня проблема с методом renderToFile в Audiokit. У меня есть один 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.