OSX 如何判断用户何时插入/拔出带有内置麦克风的耳机

Posted

技术标签:

【中文标题】OSX 如何判断用户何时插入/拔出带有内置麦克风的耳机【英文标题】:OSX How to tell when a user plugs/unplugs a headphone with a microphone built in 【发布时间】:2014-07-31 20:28:59 【问题描述】:

我创建了一个应用程序来记录用户的音频 - 但是如果用户使用包含麦克风的耳机插入耳机插孔,我会遇到问题,它会终止我的录音。我推测我的应用仍在尝试在内置麦克风上收听,当新麦克风插入计算机时,仅允许来自该麦克风的输入。

我不太确定,但我想如果我可以创建一个在耳机插入时告诉我的侦听器,这将有助于我找出问题所在。

以前有人见过这个问题吗?

【问题讨论】:

好的,更新一下,当我记录我当前的设备时,即使插入了耳机/集成麦克风,它也不会显示为 avcapture 设备——即使它确实在接受输入 【参考方案1】:

事实证明,您只需检查 AVCaptureDeviceInputSource,当插入带有麦克风的耳机时,该属性会从 imic 更改为 emic(内部到外部)。 AVCaptureDevice 仍然是“内置的”,但关键是 InputSource 发生了变化。

【讨论】:

以上是关于OSX 如何判断用户何时插入/拔出带有内置麦克风的耳机的主要内容,如果未能解决你的问题,请参考以下文章

如何检测USB键盘是不是插入和拔出

我可以使用 win32 Setup API 来检测 USB 设备何时插入或拔出吗?

iOS:如何选择使用哪个麦克风(内置/外置)?

通过AppWidgetProvider判断耳机是不是插入,拔出时暂停音乐

如何判断 FB.init() 何时完成?如何判断用户何时未连接应用程序启动?

戴尔笔记本插入耳机用不了耳机的麦克风