サブタイプkAudioUnitSubType_NewTimePitch
のAudioUnitのレートを取得/設定しようとしています。AudioUnitサブタイプのレートを設定するkAudioUnitSubType_NewTimePitch
オーディオユニットは、以下のコンポーネント記述有するAUNode
を通じて、AUGraph
に添加する:AudioUnitParameters.h
によれば
acd->componentType = kAudioUnitType_Effect;
acd->componentSubType = kAudioUnitSubType_NewTimePitch;
acd->componentManufacturer = kAudioUnitManufacturer_Apple;
を取得/設定速度は、取得/設定速度と同じくらい簡単であるべきですパラメータを設定します。
// rate control.
// Global, rate, 1/32 -> 32.0, 1.0
kNewTimePitchParam_Rate = 0,
しかし、値を設定しながらすることは値が値-10878 (kAudioUnitErr_InvalidParameter)
でOSStatus
をもたらし取得(エラーが返されません)何の問題もないようです。
- (void)setTempo:(float)value {
OSStatus err = noErr;
err = AudioUnitSetParameter(tempoUnit, kNewTimePitchParam_Rate, kAudioUnitScope_Global, 0, (Float32)value, 0);
if (err != noErr) {
NSLog(@"Could not set tempo unit rate: %d", err);
} // no error
}
とどのように私は(しよう)それを得る:
- (float)tempo {
OSStatus err = noErr;
Float32 value = 1.0;
err = AudioUnitGetParameter(tempoUnit, kNewTimePitchParam_Rate, kAudioUnitScope_Global, 0, &value);
if (err != noErr) { // -10878
NSLog(@"Could not get tempo unit rate: %d", err);
}
return value;
}
ノードの入力ミキサーノードに接続されているが、ここで
は私が値を設定する方法ですリモートIOユニットに出力します。
アイデア?
この回答には正しいとマークしますが、コメントと回答は大歓迎です:) – Vince