核心音频中如何选择音频输入设备?
我正在编写一个需要处理多个音频输入的程序。
我目前正在使用 AudioQueues 来获取输入,但这仅来自默认输入设备。
有没有办法:
- 选择 AudioQueues 使用的输入设备。
- 更改默认输入设备。
我知道我可以在 Core-Audio 中使用 kAudioHardwarePropertyDevices 来获取输出设备列表,是否有类似的可以用于输入设备?
I am writing a program that needs to deal with multiple audio inputs.
I am currently using AudioQueues to get the input, but this is only from the default input device.
Is there any way to either:
- Select which input device the AudioQueues use.
- Change the default input device.
I know that I can use kAudioHardwarePropertyDevices in Core-Audio to get a list of output devices, is there a similar one I can use for input devices?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我绞尽脑汁思考如何做到这一点,最后终于弄清楚了:
如您所见,关键部分是使用 ScopeInput/ScopeOutput 参数值。
I banged my head against how to do this for a while, and finally figured it out:
As you can see, the key part is to use the ScopeInput/ScopeOutput parameter values.
kAudioHardwarePropertyDevices
用于输出和输入设备。设备可以同时具有输入和输出通道,或者可以仅具有输入或输出通道。大多数 AudioDevice... 函数都采用布尔 isInput 参数,以便您可以查询设备的输入端。
kAudioHardwarePropertyDevices
is used for both output and input devices. Devices can have both input and output channels, or can have only input or output channels.Most of the AudioDevice... functions take a Boolean isInput parameter so that you ca query the input side of the device.