Core Audio - 多样本播放/录音

Posted

技术标签:

【中文标题】Core Audio - 多样本播放/录音【英文标题】:Core Audio - multi-sample playback/recording 【发布时间】:2012-10-03 05:36:30 【问题描述】:

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

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

我还需要支持录音。

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

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

如果混音器不是做到这一点的正确方法,那么还有哪些可能的替代方案?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

感谢您的回答。我有四个按钮,按下每个按钮都会播放一个波形文件。在这种情况下,我是创建一个具有 4 个通道的多通道,还是需要更多通道来维持复音?

以上是关于Core Audio - 多样本播放/录音的主要内容,如果未能解决你的问题,请参考以下文章

MT6737 Android N 平台 Audio系统学习----录音到播放录音流程分析

ios 使用audioQueue 录音以及播放 (pcm)

h5 录音

如何在 iPhone 的 Core Audio (Audio Unit/ Remote IO) 中将录制的声音更改为男人的声音

H5 audio标签录音播放在ios上特别卡,android正常的情况

vue项目js-audio-recorder音频插件