Core audio 核心音频中的亚毫秒延迟

Core audio 核心音频中的亚毫秒延迟,core-audio,latency,audiounit,audioqueue,low-latency,Core Audio,Latency,Audiounit,Audioqueue,Low Latency,是否可以使用核心音频播放延迟低于毫秒的声音 我尝试过使用不同大小和数量的缓冲区的AudioQueue,我也尝试过使用AudioUnits,但我无法获得低于30ms的延迟 我用示波器测量按下Arduino上的按钮和声音离开音频插孔之间的时间。Arduino通信的延迟从不超过1毫秒。否。对于亚毫秒延迟,不包括DAC延迟,音频驱动程序需要以44.1k采样率提取32个采样或更少的缓冲区,这在当前硬件上似乎不允许输出音频单元。音频队列运行在音频单元之上,因此具有更高的延迟。我正在替换操作系统9上使用Snd

是否可以使用核心音频播放延迟低于毫秒的声音

我尝试过使用不同大小和数量的缓冲区的AudioQueue,我也尝试过使用AudioUnits,但我无法获得低于30ms的延迟


我用示波器测量按下Arduino上的按钮和声音离开音频插孔之间的时间。Arduino通信的延迟从不超过1毫秒。

否。对于亚毫秒延迟,不包括DAC延迟,音频驱动程序需要以44.1k采样率提取32个采样或更少的缓冲区,这在当前硬件上似乎不允许输出音频单元。音频队列运行在音频单元之上,因此具有更高的延迟。

我正在替换操作系统9上使用SndManager系统编写的代码,而这段旧的操作系统9代码能够实现比我在新Mac上更好的延迟时间。我有办法复制这个吗?@flutillie,没有。现在,根据硬件的不同,你应该能够获得远低于30毫秒的延迟,但亚毫秒延迟是不可能的。嗨,布拉德,我设法解决了我的问题。通过使用32字节的缓冲区,我将延迟降低到足够小的水平,而不是停止/启动音频单元,在需要静音时发送0。谢谢你的帮助。