Ich spiele mit Apples Beispielprojekt "LoadPresetDemo". Ich habe die Reverb-Audioeinheit AudioUnit kAudioUnitSubType_Reverb2
zu der Grafik hinzugefügt, die der einzige verfügbare iOS-Reverb ist. In der CoreAudio- Header-Datei „AudioUnitParameters.h“, heißt es, dass REVERB2 auf diese Parameter reagieren soll:Core Audio (iOS 5.1) Reverb2-Eigenschaften nicht vorhanden, Fehlercode -10877
enum {
// Global, CrossFade, 0->100, 100
kReverb2Param_DryWetMix = 0,
// Global, Decibels, -20->20, 0
kReverb2Param_Gain = 1,
// Global, Secs, 0.0001->1.0, 0.008
kReverb2Param_MinDelayTime = 2,
// Global, Secs, 0.0001->1.0, 0.050
kReverb2Param_MaxDelayTime = 3,
// Global, Secs, 0.001->20.0, 1.0
kReverb2Param_DecayTimeAt0Hz = 4,
// Global, Secs, 0.001->20.0, 0.5
kReverb2Param_DecayTimeAtNyquist = 5,
// Global, Integer, 1->1000
kReverb2Param_RandomizeReflections = 6,
};
Nachdem der AUGraph initialisiert und gestartet wurde, stellt alles, ich höre Ton.
Als nächstes ändere ich die kReverb2Param_DryWetMix Parameter (auf volle nasse Mischung zu ändern):
AudioUnitSetParameter(_reverbUnit, kAudioUnitScope_Global, 0, kReverb2Param_DryWetMix, 100.0f, 0);
Alle gut, ich mit voller nass gemischt Hallklang hören.
Jetzt hören ist, wo ich auf Probleme stoße. Beim Versuch, einen anderen Parameter als kReverb2Param_DryWetMix
zu ändern, erhalte ich den Fehlercode -10877
. Es scheint, als ob diese anderen Parameter, die in der Header-Datei aufgelistet sind, nicht existieren.
Zum Beispiel
AudioUnitSetParameter(_reverbUnit, kAudioUnitScope_Global, 0, kReverb2Param_DecayTimeAtNyquist, 20.0f, 0)
führt den -10877
Fehler aufrufen.
Ist das ein Fehler? Habe ich irgendwelche Audio-Frameworks weggelassen? Habe ich bestimmte Audio-Header nicht importiert?
Die aktuellen Audio-Frameworks sind AVFoundation und AudioToolbox. Die aktuellen Audio-Importe sind
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
#import <CoreAudio/CoreAudioTypes.h>
ich google ohne Lösung abgesucht haben. Ich weiß, dass ich Probleme habe, wenn die Google-Route fehlschlägt. Jede Hilfe würde sehr geschätzt werden.
Hinweis: Ich habe mit Simulator und iPhone 4S Gerät getestet, das gleiche Problem.
UPDATE: Ich habe
versuchtAudioUnitGetParameter(_reverbUnit, kReverb2Param_DecayTimeAtNyquist, kAudioUnitScope_Global, 0, &value)
und es gibt einen Wert von 0.500000
, die das Eigentum bedeutet nicht existiert. Was mache ich falsch beim Einstellen des Wertes?
Schauen Sie in AUComponent.h. Sieht aus wie -10877 ist kAudioUnitErr_InvalidElement "Das angegebene Element ist nicht gültig". Das Googlen der Fehlerkonstante wirft einige Ergebnisse auf, z. http://lists.apple.com/archives/coreaudio-api/2002/Sep/msg00470.html –
Danke für die Suche nach dem Fehlercode, ich hatte eine harte Zeit zu finden, welche Header die Codes hatte. Das hat mir geholfen, herauszufinden, was ich falsch gemacht habe. – Gobot
froh, dass du es hast. Vergiss nicht, deine Antwort zu akzeptieren! :-) –