我正在使用AudioKit开发一个小型音频定序器应用程序。我只需要播放4个音频通道。但是,我需要将它们回放到与样本水平完全同步的状态。当我仅使用两个音频文件运行测试时,我听到它们没有同步。差异仅是几个样本,但是即使一个样本差异也将是一个问题。我当前正在使用路由到AKMixer对象的多个AKClipPlayer对象。我这样称呼他为循环的基础:
private var clipPlayers : [AKClipPlayer] = []
func play(){
for player in clipPlayers{
player.play()
}
}
使用AudioKit是否可以对多个音频文件进行准确的回放定时采样?
答案 0 :(得分:2)
是的,您需要安排播放以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) }