随着Audio Unit v3的到来,我们子类的主要类是新的AUAudioUnit目标C类。
AUAudioUnit具有AUParameter实现,可以通过AUAudioUnit.parameterTree属性轻松使用AUParameter。
我无法使用音频单元属性,因为AUAudioUnit不会公开其作为参数所需的AudioUnit属性
extern OSStatus
AudioUnitGetProperty( AudioUnit inUnit,
AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
void * outData,
UInt32 * ioDataSize)
当前在AUAudioUnit上没有AudioUnit类属性或检查。我不确定如何在AudioUnit v3框架中使用AudioUnit属性。
有人知道如何在新的API v3中使用AudioUnit属性吗?
谢谢。
答案 0 :(得分:0)
Apple的AudioUnitV3Example中提供了一个示例。这是其中的代码:
// Create a parameter object for the cutoff frequency.
AUParameter *cutoffParam = [AUParameterTree createParameterWithIdentifier:@"cutoff" name:@"Cutoff"
address:FilterParamCutoff
min:12.0 max:20000.0 unit:kAudioUnitParameterUnit_Hertz unitName:nil
flags: kAudioUnitParameterFlag_IsReadable |
kAudioUnitParameterFlag_IsWritable |
kAudioUnitParameterFlag_CanRamp
valueStrings:nil dependentParameters:nil];
// Initialize default parameter values.
cutoffParam.value = 20000.0;
resonanceParam.value = 0.0;
_kernel.setParameter(FilterParamCutoff, cutoffParam.value);
_kernel.setParameter(FilterParamResonance, resonanceParam.value);
// Create the parameter tree.
_parameterTree = [AUParameterTree createTreeWithChildren:@[cutoffParam, resonanceParam]];
(我省略了共振参数的代码)
这里还有一个很好的教程涵盖了它:https://audiokitpro.com/auv3-midi-tutorial-part2/