5

我们正在开发一个需要在 iOS 中更改音频路由的应用程序。我们需要从麦克风输入中获取一些信息,然后切换到设备的内部麦克风来录制环境声音。

我们从这些页面中看到了 2 个主题:强制 iPhone 麦克风作为音频输入如果插入耳机则使用内置麦克风,但我想根据这种情况没有任何最终决定。

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

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

这有什么新的吗?

谢谢!

4

1 回答 1

2

警告:此答案仅适用于 iOS6。对于 iOS7 或更高版本不正确。详情见评论。

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

连接耳机后(= 耳机和麦克风组合),您可以在两种选择之间进行选择:

  • 用于输入的内部麦克风和用于输出的扬声器
  • 耳机麦克风用于输入,耳机耳机用于输出

(你不能混合使用这些。)

您可以通过音频会话服务 API 的AudioSessionSetProperty函数设置属性kAudioSessionProperty_OverrideAudioRoute来选择其中一种。该物业的文件说:

如果在您将此属性的值设置为 时插入耳机kAudioSessionOverrideAudioRoute_Speaker,系统会更改输入和输出的音频路由:输入来自内置麦克风;输出到内置扬声器。

于 2013-07-22T21:02:16.547 回答