我正在开发在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/

10-09 16:28
查看更多