Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何访问CoreAudio驱动程序的自定义控件?_C++_Macos_Driver_Core Audio - Fatal编程技术网

C++ 如何访问CoreAudio驱动程序的自定义控件?

C++ 如何访问CoreAudio驱动程序的自定义控件?,c++,macos,driver,core-audio,C++,Macos,Driver,Core Audio,我正在创建一个CoreAudio驱动程序的配置应用程序,因为它有一些自定义功能 参数。我可以访问默认控件,如音量和静音,以及其他 属性,如频道号,带有AudioObjectGetPropertyData和AudioObjectSetPropertyData。我不是开发者 但我们正在共同努力 当使用IOAudioXXXControl::create在驱动程序端而不是应用程序中创建自定义控件时,如果给定自定义控件子类型,我将无法访问它 来自应用程序。但如果我使用在标题中定义的默认值创建它,我可以访问

我正在创建一个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”的控件

驱动程序代码、应用程序代码或两者中是否缺少某些步骤?还是不是 有可能这样做-如果是这样,任何指导方针将不胜感激

谢谢