C++ 如何访问CoreAudio驱动程序的自定义控件?
我正在创建一个CoreAudio驱动程序的配置应用程序,因为它有一些自定义功能 参数。我可以访问默认控件,如音量和静音,以及其他 属性,如频道号,带有AudioObjectGetPropertyData和AudioObjectSetPropertyData。我不是开发者 但我们正在共同努力 当使用IOAudioXXXControl::create在驱动程序端而不是应用程序中创建自定义控件时,如果给定自定义控件子类型,我将无法访问它 来自应用程序。但如果我使用在标题中定义的默认值创建它,我可以访问它 例如,使用以下命令创建驾驶员控件:C++ 如何访问CoreAudio驱动程序的自定义控件?,c++,macos,driver,core-audio,C++,Macos,Driver,Core Audio,我正在创建一个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函数的参数,
但是没有成功
我们搜索了苹果的文档,像OSX和iOS内核之类的书籍
编程等,但示例仅显示默认控件的创建,
就像音量和静音一样,只是说可以创建自定义命令
我请求控制的方式有错误吗?如果我打开AudioObject
在HALLab中的浏览器中,我可以在两种情况下看到带有“phan”和“phan”的控件
驱动程序代码、应用程序代码或两者中是否缺少某些步骤?还是不是
有可能这样做-如果是这样,任何指导方针将不胜感激
谢谢