我们正在开发一款需要在iOS中更改音频路径的应用。我们需要从麦克风输入中获取一些信息,然后更改为设备的内部麦克风以录制环境声音。
我们已经从这些页面中看到了2个主题:Forcing iPhone Microphone as Audio Input和Use built-in mic if Headset is plugged in但我想根据这种情况没有任何最终结论。
现在,代码可以工作,但我们可以选择音频输入的路径。
我们在Apple(远程IO)提供的文档中找不到任何内容。
这有什么新鲜事吗?
谢谢!
答案 0 :(得分:2)
警告:此答案仅适用于iOS6。对于iOS7或更高版本,它不正确。有关详细信息,请参阅注释。
这是可能的,但只有副作用。更改输入设备也会更改输出设备。您将无法通过内置麦克风录音,同时通过耳机的耳机实时收听录音。这意味着如果您不想通过耳机同时收听录音,那么有一个解决方案:
连接耳机(=组合式耳机和麦克风)后,您可以选择两种选择:
(你不能混用这些。)
您可以通过音频会话服务API的函数kAudioSessionProperty_OverrideAudioRoute设置属性AudioSessionSetProperty来选择其中一种方法。该物业的文件说:
如果在设置此属性的值时已插入耳机 到
kAudioSessionOverrideAudioRoute_Speaker
,系统改变了 输入和输出的音频路由:输入来自 内置麦克风;输出到内置扬声器。