iOS 14.2 将应用程序音频输出定向到耳机扬声器而不是底部扬声器

iOS 14.2 directs app audio output to ear speaker instead of bottom speaker

我构建的一个应用程序一直通过底部扬声器(免提电话)输出音频,但现在它输出到前置(耳朵)扬声器。我没有更改应用程序,所以我认为原因一定是我最近安装的 iOS 14.2。

该应用使用 AVAudioSession,将 AVAudioSession.Category 设置为 .playAndRecord,因为它同时执行录音和语音合成。

知道 14.2 可能发生了什么变化导致了这个……我如何指定输出到底部扬声器?

事实证明,这只是在设置过程中添加 .defaultToSpeaker 的问题:

try AVAudioSession.sharedInstance().setCategory(.playAndRecord, options: .defaultToSpeaker)

我不确定为什么这个选项只需要从 iOS 14.2 开始,但它解决了问题。