首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Mac音频队列服务选择输入麦克风?

为Mac音频队列服务选择输入麦克风?
EN

Stack Overflow用户
提问于 2011-05-31 16:16:33
回答 3查看 2.6K关注 0票数 6

我目前正在使用Mac Queue Services API进行音频录制和声音分析。使用默认麦克风输入时工作正常。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-29 22:35:44

要枚举可用的输入设备,请参阅我对AudioObjectGetPropertyData to get a list of input devices的回答。

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

票数 3
EN

Stack Overflow用户

发布于 2011-12-29 11:03:49

我担心,不是,因为AQ被硬编码为使用默认输入(据我所知)。AQ相当有限,只有iOS通过AutoSessions提供了更多的控制。但是,您可以使用AUHAL从任意设备进行录制:

http://developer.apple.com/library/mac/#technotes/tn2091/_index.html

您不需要上面的清单4,因为您将使用所选设备的AudioDeviceID (大概是通过使用AudioObjectGetPropertyDataSize获取设备列表并选择您想要的设备)。

如果你觉得这太多了,你可能仍然可以使用AudioHardwareSetProperty从你的代码中设置kAudioHardwarePropertyDefaultInputDevice --不是你想要的,但肯定是更少的工作……

票数 2
EN

Stack Overflow用户

发布于 2011-06-17 17:41:18

如果您将音频队列设置为从默认输入设备读取,则它将从在系统首选项->Soubd->输入选项卡中选择为默认的麦克风读取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6184751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档