首页 > 解决方案 > 如何获得对触摸事件的最低音频延迟响应?

问题描述

我正在构建一个节奏游戏,并尝试为使用 AudioKit 的用户提供极低延迟的音频响应。

我是 AudioKit 的新手,按照 Hello world 示例,我使用 AKOscillator 构建了一个非常简单的测试应用程序:

...
let oscillator = AKOscillator()
...
AudioKit.output = oscilator
oscillator.frequency = 880
AKSettings.bufferLength = .shortest
AKSettings.ioBufferDuration = 0.002
AudioKit.start()

... // On Touch event ///
oscillator.start()
... // 20 ms later ///
oscillator.stop()

我测量了触摸事件和第一个声音发出之间的延迟,大约是 100 毫秒,这对我们来说很慢......

我能想到的几种可能性:

  1. 100 毫秒达到了音频输出延迟的硬件限制

  2. 一些更神奇的设置可以解决这个问题

  3. Oscillator.start() 有一些延迟,为了达到最低的延迟,我应该使用别的东西

  4. 代码的其他部分有问题(触摸处理等)

由于我现在有 AudioKit(也不是 iOS 音频系统......)的经验,任何信息都将非常感激!

标签: audiokit

解决方案


推荐阅读