【问题标题】:iOS 14.2 directs app audio output to ear speaker instead of bottom speakeriOS 14.2 将应用程序音频输出定向到耳机而不是底部扬声器
【发布时间】:2020-11-15 03:04:26
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios iphone audio speaker speakerphone


    【解决方案1】:

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

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

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

    【讨论】:

    • 最新信息?我们不想默认使用扬声器,但是当我们正在使用扬声器时,我们希望它也使用底部扬声器而不仅仅是听筒!
    • @Meekohi 使用扬声器意味着从不使用听筒。但这不会影响您使用蓝牙设备等设备。所以我认为这就是您想要的。
    • 我还没有想出任何方法来获得您所描述的行为——如果我使用defaultToSpeaker,那么输出总是会发送到扬声器,即使当蓝牙耳机已连接。
    • @Meekohi 老实说,我只用插入式耳机而不是蓝牙对其进行了测试——但这确实会覆盖扬声器。在 Apple 文档中它说:“在音频通常会进入接收器的情况下,用例是将音频路由到扬声器而不是接收器。” —在我看来,这正是您所寻求的。很抱歉,它不适合你。 developer.apple.com/documentation/avfaudio/avaudiosession/…
    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多