我正在开发在OsX上播放音频的应用程序。我可以使用CodeAudio列出可用的输出设备,但是蓝牙耳机有问题。即使设备已关闭电源且未连接,它仍会在OsX声音首选项窗格中列出,因此,CoreAudio会将其用作有效输出。
如果相应的设备尚未连接,我不想显示蓝牙输出。
我试图检查像这样的CoreAudio属性:kAudioDevicePropertyDeviceIsAlive
kAudioDevicePropertyDeviceIsRunning
kAudioDevicePropertyDeviceIsRunningSomewhere
但默认输出和蓝牙输出之间没有区别。
这种检测对Coreaudio有用吗?
最佳答案
为了将来的搜索者受益,我过去的做法是:
枚举检测到的设备
查询每个AudioDeviceID的kAudioDevicePropertyTransportType
属性
这将返回传输类型ID常量。
符合kAudioDeviceTransportTypeBluetooth
或kAudioDeviceTransportTypeBluetoothLE
类型
这样,您可以确定设备正在使用的连接类型(USB,Firewire等)。您可以在AudioHardwareBase.h
中找到传输类型的完整列表
关于macos - 如何检测Mac OS X中是否连接了蓝牙音频设备?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8185378/