如何在AVAudioSession内部使用iPhone XS内置麦克风的立体声(2声道)?

时间:2019-06-25 16:07:30

标签: ios iphone avaudiosession iphone-xs-max iphone-xs

我正试图从iPhone XS的立体声后置麦克风中获得两个通道,但只能在与后置摄像头相关的AVAudioSession和AVAudioSessionPortDescription的各个点看到一个通道。

我曾尝试使用诸如setPreferredInputNumberOfChannels之类的AVAudioSession API

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

但是出现错误: 错误域= NSOSStatusErrorDomain代码= -50

有人有没有体验过内置麦克风通道建立2通道的经验?

2 个答案:

答案 0 :(得分:1)

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

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

documentation中了解更多信息。

答案 1 :(得分:0)

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