0

我正在使用 Swift 开发适用于 iOS 的语音通话应用程序,我需要启用无线(蓝牙)耳机/耳机的自动检测和自动连接。

我正在使用 AVAudioSession RouteChangeReason,但它没有检测到 airpods 或其他一些无线耳机何时通过蓝牙连接。连接设备后,我什至可以在蓝牙设置中看到它已连接,但该设备未在 MPVolumeView 中列出,正如您在屏幕截图中看到的那样。

我一直在寻找有关如何在整个互联网上解决此问题的答案,尽管 StackOverFlow 上有很多类似的问题,但没有一个与我的案例特别相关,所以请告诉我如何解决这个。

4

2 回答 2

2

我刚刚阅读了代码,终于发现了它的问题所在。问题是我不止一次设置了类别,所以由于某种原因,这导致无线耳机/耳机无法直接连接到应用程序。

于 2020-12-04T18:09:37.100 回答
1

.allowBluetoothA2DP 对 无效playAndRecord。您无法通过 A2DP 进行录制。删除那个。请注意,当您这样做时,如果用户正在听音乐,质量会急剧下降(AirPods 可能有专门的解决方法;我没有在这种模式下玩过它们)。为了通过蓝牙录制,您必须使用 HFP,它提供基本上“电话”质量的音频。

于 2020-12-04T14:53:14.637 回答