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

Posted

技术标签:

【中文标题】iOS:如何选择使用哪个麦克风(内置/外置)?【英文标题】:iOS: How to choose which microphone (inbuilt/external) to use? 【发布时间】:2011-06-11 02:05:43 【问题描述】:

假设我有一个从麦克风获取输入的音频 iPhone 应用。

现在,虽然我自己没有尝试过,但我相信用户可以使用插入 phonojack 插座的外部麦克风。

这意味着我的音频单元可能正在接收来自内部或外部麦克风的输入。

我的猜测是,如果连接了外部麦克风,ios 会自动从外部麦克风路由。

但如果我不想这样呢?

有没有办法指定应该使用哪个麦克风?

我查看了音频会话指南,我可以找到一些关于蓝牙耳机的设置。但这是我能找到的最接近的地方。看来这是不可能的。但我觉得这很难相信。

PS 另外我很好奇它是如何检测到外部麦克风的……如果我插入耳机,它应该会继续从内部麦克风路由。我的耳机只是普通的立体声耳机。但是,如果我使用手机的耳机(在 Jack 的额外带上......他们有一个麦克风内置在各个听筒线相交的电缆上),我希望它能够接收这个源。

【问题讨论】:

这个问题几乎相同(但未解决):***.com/questions/4002133/… 【参考方案1】:

您必须使用 AUHAL 单元将特定输入设备设置为默认输入,然后将其与 AudioQueue 连接。

Apple 对此有详细的技术说明:Device input using the HAL Output Audio Unit

【讨论】:

你是对的。在 iOS 中,它被音频会话服务所取代,它确实似乎无法访问特定的输入设备。 可以在 iOS 7 上使用 setPreferredInput 使用 AVAudioSession:

以上是关于iOS:如何选择使用哪个麦克风(内置/外置)?的主要内容,如果未能解决你的问题,请参考以下文章

ios 内置麦克风录音只有一个声道声音

如何区分手机内置存储卡与外置存储卡

在 iOS 中通过蓝牙播放时从内置麦克风录制

如何在 iPhone 内置麦克风上禁用 AEC、AGC 和 HPF

如何使用内置麦克风输入和蓝牙输出

如何选择外接麦克风