1

我正在为 iOS 的 Core Audio 构建一个极低延迟的乐器。

考虑一下,我的仪器有 4 个触发器,每个触发器都会播放一个 .wav 文件。当我播放不同的 .wav 文件时,前一个 .wav 文件的声音不应被切断。

我还需要支持录制。

我已经成功地使用 OpenAL 实现了这一点,但我发现我需要使用 RemoteIO/AudioUnits,因为 OpenAL 不允许录制通过 OpenAL 播放的内容。

如果我使用 RemoteIO/AudioUnits,我是否需要使用具有 4 个通道的多通道混音器并将每个 .wav 文件的音频路由到每个通道。这样做会不会切断之前通过同一频道播放的.wav 文件的声音?

如果混合器不是这样做的正确方法,那么还有什么可能的替代方案?

4

1 回答 1

1

音频混音器是执行此操作的正确方法,可以是音频单元多通道混音器,也可以是您自己的 DSP 代码。

如果您继续向混音器音频单元提供来自先前启动的声音的 PCM 数据,则即使在通过另一个通道启动后续声音之后,它也应该继续播放。

于 2012-10-03T17:13:05.903 回答