Ich habe Apples Dokumentation gefolgt, um Audio auf dem iPhone mithilfe der Klasse AVAudioSession
aufzuzeichnen. Ich kann mehrere Eigenschaften ohne Fehler festlegen (setActive
, setCategory
, setPreferredHardwareSampleRate
), aber ich kann Apples Beispielcode für setPreferredIOBufferDuration
nicht zum Laufen bringen.
Hier ist mein Code:
- (void) initX {
NSError *setPreferenceError = nil;
NSTimeInterval preferredBufferDuration = 0.005;
[[AVAudioSession sharedInstance]
setPreferredIOBufferDuration: preferredBufferDuration
error: &setPreferenceError];
if (setPreferenceError != nil) {
NSLog( @"%@", setPreferenceError );
}
}
Es produziert folgende Ausgabe:
Error Domain=NSOSStatusErrorDomain Code=561211770 "Vorgang konnte nicht abgeschlossen werden. (OSStatus-Fehler 561211770.)"
Ich rufe diese Methode aus dem Haupt-Applikationsdelegate auf, als Teil der Methode applicationDidFinishLaunching
. Ich initialisiere zu diesem Zeitpunkt nur Dinge. Ich habe AVFoundation/AVFoundation.h importiert, nachdem ich AVFoundation.framework zum Projekt hinzugefügt habe.