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

标签 ios audio routes microphone remoteio

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

我们从这些页面中看到了 2 个主题:Forcing iPhone Microphone as Audio InputUse built-in mic if Headset is plugged in但我想根据这种情况还没有任何定论。

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

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

这有什么新东西吗?

谢谢!

最佳答案

警告:此答案仅适用于 iOS6。它不适用于 iOS7 或更高版本。有关详细信息,请参阅评论。

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

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

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

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

您可以通过设置属性 kAudioSessionProperty_OverrideAudioRoute 来选择其中一个备选方案通过函数AudioSessionSetProperty Audio Session 服务 API。该属性的文档说:

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.

关于ios - 在 iOS 中选择内置麦克风和耳机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360784/

相关文章:

ios - 将多个联系人导入通讯录iOS6\Xcode

ios - Sprite 跟随不同的 Sprite 延迟

ios - 合并音频和视频 Swift

java - 小型文件的音频缓存Android Studio

javascript - React 和 HashRouter - 出现空白页

javascript - 升级到 Ionic RC4 后运行应用程序时出错

ios - Xcode 使用未声明的标识符

javascript - addEventListener 与媒体冲突

ruby-on-rails - Rails 使用 routes.rb 重定向旧 URL

routes - GIS/ map 解决方案可轻松访问路线数据