OS X: реагировать на новое аудиоустройство

Мне нужно получать уведомления, когда в OS X появляется новое аудиоустройство. Я не знаю, с чего начать. Может ли Core Audio сделать это за меня, или мне нужно перейти на более низкий уровень, например, с помощью IO Kit?


person Grav    schedule 24.09.2014    source источник


Ответы (1)


Вы можете сделать это, наблюдая kAudioHardwarePropertyDevices. Код выглядит примерно так:

AudioObjectPropertyAddress propertyAddress = {
        .mSelector = kAudioHardwarePropertyDevices,
        .mScope = kAudioObjectPropertyScopeGlobal,
        .mElement = kAudioObjectPropertyElementMaster
    };

OSStatus result = AudioObjectAddPropertyListener(kAudioObjectSystemObject, &propertyAddress, myAudioObjectPropertyListenerProc, NULL);

В myAudioObjectPropertyListenerProc можно определить, какие устройства доступны в данный момент.

person sbooth    schedule 25.09.2014