【问题标题】:How do I detect if a bluetooth audio device is connected in Mac OS X?如何在 Mac OS X 中检测是否连接了蓝牙音频设备?
【发布时间】:2011-11-18 16:10:16
【问题描述】:

我正在开发一个在 OsX 上播放音频的应用程序。我可以使用 CodeAudio 列出可用的输出设备,但是蓝牙耳机有问题;即使设备已关闭且未连接,它仍会列在 OsX 声音首选项窗格中,因此被 CoreAudio 拾取为有效输出。 如果相应的设备尚未连接,我希望显示蓝牙输出。

我尝试过检查 CoreAudio 的这些属性:

kAudioDevicePropertyDeviceIsAlive kAudioDevicePropertyDeviceIsRunning kAudioDevicePropertyDeviceIsRunningSomewhere

但默认输出和蓝牙输出没有区别。

Coreaudio 可以进行这种检测吗?

【问题讨论】:

标签: macos cocoa bluetooth core-audio


【解决方案1】:

为了将来的搜索者的利益,我过去的做法是:

  • 枚举检测到的设备
  • 查询每个 AudioDeviceID 的 kAudioDevicePropertyTransportType 属性 这将返回一个传输类型 ID 常量。
  • 匹配 kAudioDeviceTransportTypeBluetoothkAudioDeviceTransportTypeBluetoothLE类型

这样您就可以确定设备正在使用的连接类型(USB、Firewire 等)。您可以在AudioHardwareBase.h中找到完整的传输类型列表

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 1970-01-01
    • 2016-10-20
    • 2021-08-25
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    相关资源
    最近更新 更多