ReplayKit Broadcast Extension的扬声器和蓝牙问题

时间:2019-07-04 07:27:58

标签: ios replaykit

使用iOS ReplayKit Broadcast Extension录制整个系统UI的扬声器出现问题。

苹果词:扬声器 =扬声器,接收器 =将手机放在耳边。

根据Apple标准,您使用AVAudioSession声明音频会话行为。在我们的案例中,我们正在进行的视频聊天应在没有耳机的情况下默认为扬声器(请考虑支持会话在聊天时记录整个UI)。

如果我们未使用defaultToSpeaker设置类别,则默认行为是使用接收者。

AVAudioSession.sharedInstance().setCategory(
    .playAndRecord,
    mode: .videoChat,
    policy: .default,
    options: [.defaultToSpeaker, .mixWithOthers]

但是,当我这样做时,蓝牙耳机会停止工作。如果我开始使用扬声器,然后连接AirPods,则广播扩展将继续使用扬声器。 (有线耳机始终可用)

如果我不setCategory,则有一些默认会话,但默认为仅接收者。

这似乎是Apple的错误。这实际上意味着我们必须选择支持蓝牙耳机来断开耳机的连接。

我已经尝试使用AVAudioSession.sharedInstance().overrideOutputAudioPort(.speaker)进行手动操作,但是在广播扩展的上下文中,此调用似乎无济于事。

有人找到解决方法吗?

编辑:苹果的文件错误:FB6485225(openradar尚无法处理反馈助手)

0 个答案:

没有答案