为Mac Audio Queue Services选择输入麦克风?

hot*_*aw2 5 audio macos cocoa core-audio

我目前正在使用Mac OS X音频队列服务API进行录音和声音分析.使用默认麦克风输入正常工作.

如果有多个麦克风插入Mac(USB,耳机插孔等),有没有办法以编程方式枚举并选择哪个麦克风用于应用程序中的音频输入?(例如,不必将用户发送到系统首选项面板,这可能会影响用户的其他音频应用程序.)如果是这样,应使用哪些API来选择麦克风输入.

sbo*_*oth 3

要枚举可用的输入设备,请参阅我对AudioObjectGetPropertyData 的回答以获取输入设备列表

确定要使用的输入设备后,您可以将该kAudioQueueProperty_CurrentDevice属性设置为设备的 UID。