如何在核心音频中选择音频输入设备?

Dan*_*bbs 5 audio core-audio audiotoolbox

我正在编写一个程序,需要处理多个音频输入。

我目前正在使用AudioQueues来获取输入,但这仅来自默认输入设备。

有什么办法可以:

  • 选择AudioQueues使用的输入设备。
  • 更改默认输入设备。

我知道我可以在Core-Audio中使用kAudioHardwarePropertyDevices来获取输出设备的列表,我可以使用类似的输入设备吗?

luc*_*ius 2

kAudioHardwarePropertyDevices用于输出和输入设备。设备可以同时具有输入和输出通道,或者可以仅具有输入或输出通道。

大多数 AudioDevice... 函数都采用布尔 isInput 参数,以便您可以查询设备的输入端。

  • 为了区分输入和输出,请从“AudioStreamID”获取通道方向选择器:“kAudioStreamPropertyDirection”中获取“AudioStreamID(selector:kAudioDevicePropertyStreams)”。方向0表示输出通道,1表示输入通道。 (2认同)