【问题标题】:How to use the stereo (2 channel) built in microphone in iPhone XS, inside AVAudioSession?如何在 AVAudioSession 中使用 iPhone XS 中内置的立体声(2 声道)麦克风?
【发布时间】:2026-01-13 10:35:01
【问题描述】:

我试图从 iPhone XS 的所谓立体声后置麦克风中获取两个通道,但在与后置摄像头关联的 AVAudioSessionAVAudioSessionPortDescription 的各个点上只能看到一个通道。

我尝试过使用AVAudioSession API,例如setPreferredInputNumberOfChannels

do {
    try session.setPreferredInputNumberOfChannels(2)
} catch let error {
    debugPrint("\(error)")
}

但是得到一个错误:

Error Domain=NSOSStatusErrorDomain Code=-50

有没有人有过让 2 通道内置麦克风路由工作的经验?

【问题讨论】:

    标签: ios iphone avaudiosession


    【解决方案1】:

    iPhone XS 上的立体声麦克风位于闪电接口左侧的底部。闪电连接器右侧的一个是降噪麦克风。 另外两个麦克风放置在前置摄像头和后置摄像头旁边。但那些只是单声道麦克风。 但是对于底部立体声麦克风,有一个很大的问题。 仅在使用内置相机应用程序时以立体声录制。 仅语音备忘录应用程序中的语音仅以单声道录制。 而且,立体声麦克风不兼容任何第三方应用程序。 它仅在本机相机应用程序中拍摄视频时有效。

    【讨论】:

      【解决方案2】:

      从 iOS 14 和 iPadOS 14 开始,您可以使用内置麦克风捕捉立体声音频。

      要确定设备是否支持立体声录音,请查询音频会话的选定数据源以查看其 supportedPolarPatterns 数组是否包含立体声极性模式。

      阅读更多来自documentation

      【讨论】:

      • 嗨,你能在这个问题*.com/questions/71186042/… 中添加任何输入吗?我在互联网上的任何地方都找不到任何使用立体声扬声器的完整代码示例。