Я создаю приложение конфигурации драйвера CoreAudio, потому что оно
параметры. Я могу получить доступ к элементам управления по умолчанию, таким как громкость и отключение звука, и другой
свойства, такие как номер канала, с AudioObjectGetPropertyData
а также AudioObjectSetPropertyData
, Я не разработчик
водителя, но мы работаем вместе над этим.
При создании пользовательского элемента управления (на стороне водителя, а не приложения) с IOAudioXXXControl::create()
и с учетом пользовательского подтипа элемента управления я не могу получить к нему доступ
из приложения. Но если я создаю его со значением по умолчанию (определенным в заголовках), я могу получить к нему доступ.
Например, создание элемента управления водителя с помощью:
control = IOAudioToggleControl::create(FALSE,
kIOAudioControlChannelIDAll,
0,0, 'phan', //'phan' is as kAudioToggleControlSubTypePhantomPower
kIOAudioControlUsageCoreAudioProperty);
и в приложении я спрашиваю, существует ли этот элемент управления таким образом:
AudioObjectPropertyAddress pAddress;
pAddress.mSelector = 'phan';
pAddress.mScope = kAudioObjectPropertyScopeGlobal;
pAddress.mElement =kAudioObjectPropertyElementMaster;
if (AudioObjectHasProperty(device, &pAddress)) {
все возвращается ОК.
Но если я изменю 'phan'
в 'phaN'
, чтобы создать собственный элемент управления,
устройство возвращает это не имеет контроля. Я пробовал настройку
controlID и возиться с параметрами create
функция,
но нет успеха.
Мы искали документацию Apple, такие книги, как OS X и iOS Kernel
Программирование и т. Д., Но примеры показывают только создание элементов управления по умолчанию,
как громкость и отключение звука, только говоря, что возможно создание пользовательских команд.
Есть ли какая-либо ошибка в том, как я запрашиваю элемент управления? Если я открою AudioObject
Браузер в HALLab Я вижу элемент управления в обоих случаях (с помощью ‘phan’ и ‘phaN’).
Отсутствует ли какой-либо шаг в коде драйвера, коде приложения или обоих? Или это не
можно делать вещи таким образом — и если да, то любые рекомендации будут оценены.
Спасибо!
Задача ещё не решена.
Других решений пока нет …