0

我需要检查搜索到的设备是否是 AirPods 设备。我不知道如何开始。我希望能得到你的帮助。非常感谢!

 AVAudioSessionRouteDescription *currentRount = [AVAudioSession sharedInstance].currentRoute;
    AVAudioSessionPortDescription *outputPort = currentRount.outputs[0];
    if ([outputPort.portType isEqualToString:AVAudioSessionPortBluetoothA2DP]) {

    } else {

    }
4

1 回答 1

0

我对iOS的音频框架没有太多经验,尤其是蓝牙模块。但我做了一些阅读。你可以从这个开始:

如何检测 iOS 中是否连接了 HFP 或 A2DP?

以及 BT 协议列表(好读):

http://monkeycanz.com/hrf_faq/what-are-bluetooth-a2dp-avrcp-hfp-hsp-protocols/


然后回答你的问题,这里是 Apple 的文档AVAudioSessionPort

https://developer.apple.com/documentation/avfoundation/avaudiosessionport?language=objc

从那里您可以看到该结构的常量,例如:

AVAudioSessionPortHeadphones- 输出到有线耳机。

AVAudioSessionPortHeadsetMic- 有线耳机的内置麦克风。

所以在那里。Imo,如果你有这些常量(并且请检查其他常量),那么你就有了你想要的东西。

希望能帮助到你!

于 2020-06-16T03:15:04.853 回答