Сначала вам потребуется #import
CAAUParameter и AUParamInfo (, которые можно найти в /Developer/Extras/CoreAudio/PublicUtility).
EDIT : Эти файлы теперь находятся в пакете «Audio Tools For Xcode».Вы можете получить его, перейдя в Xcode> Открыть инструмент разработчика> Другие инструменты разработчика ...
Предполагая, что у вас есть AudioUnit с именем theUnit
Следующий код настроит вас для перебора параметров theUnit
:
bool includeExpert = false;
bool includeReadOnly = false;
AUParamInfo info (theUnit, includeExpert, includeReadOnly);
for(int i = 0; i < info.NumParams(); i++)
{
if(NULL != info.GetParamInfo(i))
{
// Do things with info here
}
}
Например, info.GetParamInfo(i))->ParamInfo()
даст вам структуру AudioUnitParameterInfo, которая определена следующим образом:
typedef struct AudioUnitParameterInfo
{
char name[52];
CFStringRef unitName;
UInt32 clumpID;
CFStringRef cfNameString;
AudioUnitParameterUnit unit;
AudioUnitParameterValue minValue;
AudioUnitParameterValue maxValue;
AudioUnitParameterValue defaultValue;
UInt32 flags;
} AudioUnitParameterInfo;
Обратите внимание, что сначала вам нужно открыть AudioUnit (например,., вызывая AUGraphOpen () на Графе, который содержит единицу).