Я следовал документации Apple для записи звука на iPhone, используя класс AVAudioSession
. Я могу установить несколько свойств без ошибок (setActive
, setCategory
, setPreferredHardwareSampleRate
), но не могу заставить пример кода Apple работать на setPreferredIOBufferDuration
.
Вот мой код:
- (void) initX {
NSError *setPreferenceError = nil;
NSTimeInterval preferredBufferDuration = 0.005;
[[AVAudioSession sharedInstance]
setPreferredIOBufferDuration: preferredBufferDuration
error: &setPreferenceError];
if (setPreferenceError != nil) {
NSLog( @"%@", setPreferenceError );
}
}
Создает следующий вывод:
Ошибка домена = NSOSStatusErrorDomain Code = 561211770 «Операция не может быть завершена. (Ошибка OSStatus 561211770.)» *
Я вызываю этот метод из основного делегата приложения, как часть метода applicationDidFinishLaunching
. Все, что я делаю, это инициализирую вещи на этом этапе. Я импортировал AVFoundation / AVFoundation.h после добавления AVFoundation.framework в проект.