Синхронизация воспроизведения нескольких аудиофайлов в Audio Kit
Я разрабатываю небольшое приложение аудио секвенсора с использованием AudioKit. Мне нужно только воспроизвести 4 канала аудио. Однако мне нужно воспроизвести их идеально синхронизированными до уровня семпла. Когда я запускаю тестирование, используя только два аудиофайла, я слышу, что они не синхронизированы. Разница лишь в нескольких выборках, но даже расхождение в одной выборке может стать проблемой. В настоящее время я использую несколько объектов AKClipPlayer, направленных к объекту AKMixer. Я назвал его с основами для цикла, как это:
private var clipPlayers : [AKClipPlayer] = []
func play(){
for player in clipPlayers{
player.play()
}
}
Возможно ли точное воспроизведение сэмплирования нескольких аудиофайлов с помощью AudioKit?
1 ответ
Да, вам нужно запланировать воспроизведение, чтобы начать в будущем с play(at:)
,
// This can take longer than expected, so do this before choosing a future time
clipPlayers.forEach { $0.prepare(withFrameCount: 10_000) }
let nearFuture = AVAudioTime.now() + 0.2
clipPlayers.forEach { $0.play(at: nearFuture) }