iOSのReverb2ユニットでReverbRoomTypeプロパティを設定しようとすると、-10879(kAudioUnitErr_InvalidProperty)が表示されます。作成方法は次のとおりです。
AudioComponentDescription outputcd = {0};
outputcd.componentType = kAudioUnitType_Effect;
outputcd.componentSubType = kAudioUnitSubType_Reverb2;
outputcd.componentManufacturer = kAudioUnitManufacturer_Apple;
AUNode reverbNode;
CheckError(AUGraphAddNode(self.auGraph, &outputcd, &reverbNode),
"AUGraphNode[kAudioUnitSubType_Reverb2] failed");
CheckError(AUGraphNodeInfo(_auGraph, reverbNode, NULL, &_auReverb),
"AUGraphNodeInfo failed [reverbNode]");
そして、ここで部屋のタイプを設定します(これは、noErrに対して戻り値をテストし、終了する前にエラーをログに記録する「CheckError()」呼び出しに失敗します)。これは、kAudioUnitErr_InvalidPropertyで失敗する呼び出しです。
UInt32 roomType = kReverbRoomType_LargeHall;
CheckError(AudioUnitSetProperty(_auReverb, kAudioUnitProperty_ReverbRoomType,
kAudioUnitScope_Global, 0, &roomType, sizeof(UInt32)),
"AudioUnitSetProperty[kAudioUnitProperty_ReverbRoomType] failed");
プロパティに対して2つの異なる値を試しただけですが、エラーにより、プロパティ定数自体が間違っていると思われます。これはiOS5では設定できませんか?kAudioUnitProperty_ReverbRoomTypeからkAudioUnitProperty_ReverbPresetに変更しても役に立ちません。
提案を事前に感謝します。