Как определить, подключено ли аудиоустройство Bluetooth в Mac OS X? - PullRequest
3 голосов
/ 18 ноября 2011

Я работаю над приложением, которое воспроизводит аудио на OsX.Я могу перечислить доступные устройства вывода с CodeAudio, но у меня есть проблемы с гарнитурой Bluetooth;Несмотря на то, что устройство выключено и не подключено, оно все равно указано в области звуковых настроек OsX и, следовательно, воспринято CoreAudio в качестве допустимого выхода.Я бы хотел, чтобы не отображал выходы Bluetooth, если соответствующее устройство еще не подключено.

Я пытался проверить свойства CoreAudio, например:

kAudioDevicePropertyDeviceIsAlive kAudioDevicePropertyDeviceIsRunning kAudioDevicePropertyDeviceIsRunningSomewhere

но нет никакой разницы между выходом по умолчанию и выходом Bluetooth.

Можно ли с помощью Coreaudio выполнить такое обнаружение?

1 Ответ

0 голосов
/ 14 августа 2015

Для будущих поисковиков способ, которым я делал это в прошлом, состоит в следующем:

  • Перечисление обнаруженных устройств
  • Запрос свойства kAudioDevicePropertyTransportType для каждого AudioDeviceIDкоторый возвращает константу идентификатора типа транспорта.
  • Соответствует типу kAudioDeviceTransportTypeBluetooth или kAudioDeviceTransportTypeBluetoothLE

Таким образом, вы можете определить тип соединения, которое использует устройство (USB, Firewire и т. Д.).Вы можете найти полный список видов транспорта в AudioHardwareBase.h

...