在iOS中选择内置麦克风和耳机

我们正在开发一款需要在iOS中更改音频路线的应用.我们需要从麦克风输入中获取一些信息,然后更改为设备的内部麦克风以录制环境声音.

我们已经从这些页面看到了2个主题:Forcing iPhone Microphone as Audio InputUse built-in mic if Headset is plugged in,但我想根据这种情况没有任何最后的单词.

现在,代码可以工作,但我们可以选择音频输入的路由.

我们在Apple(远程IO)提供的文档中没有找到任何内容.

这有什么新鲜事吗?

谢谢!

警告:此答案仅适用于iOS6.对于iOS7或更高版本,这是不正确的.请参阅评论了解详情

这是可能的,但只有副作用.更改输入设备也会更改输出设备.您将无法通过内置麦克风录音,同时通过耳机的耳机实时收听录音.这意味着,如果您不想通过耳机同时收听录音,那么有一个解决方案:

连接耳机(=组合耳机和麦克风)后,您可以选择以下两种方式:

>用于输入的内置麦克风和用于输出的扬声器
>用于输入的耳机麦克风和用于输出的耳机耳机

(你不能混用这些.)

您可以通过音频会话服务API的功能AudioSessionSetProperty设置属性kAudioSessionProperty_OverrideAudioRoute来选择其中一个备选方案.该物业的文件说:

If a headset is plugged in at the time you set this property’s value
to kAudioSessionOverrideAudioRoute_Speaker, the system changes the
audio routing for input as well as for output: input comes from the
built-in microphone; output goes to the built-in speaker.

https://stackoverflow.com/questions/13360784/choose-between-built-in-mic-and-headset-in-ios

转载注明原文:在iOS中选择内置麦克风和耳机