Я пытаюсь добавить два входа в QTCaptureSession следующим образом:
mainSession = [[QTCaptureSession alloc] init];
BOOL success;
NSError* error;
QTCaptureDevice *videoDevice = [QTCaptureDevice defaultInputDeviceWithMediaType:@"QTMediaTypeVideo"];
success = [videoDevice open:&error];
QTCaptureDevice *audioDevice = [QTCaptureDevice defaultInputDeviceWithMediaType:@"QTMediaTypeSound"];
success = [audioDevice open:&error];
//video = [[QTCaptureDeviceInput alloc] initWithDevice:videoDevice];
//success = [mainSession addInput:video error:&error];
//audio = [[QTCaptureDeviceInput alloc] initWithDevice:audioDevice];
//success = [mainSession addInput:audio error:&error];
output = [[QTCaptureMovieFileOutput alloc] init];
success = [mainSession addOutput:output error:&error];
[output setDelegate:self];
[movieView setCaptureSession:mainSession];
[mainWindow makeKeyAndOrderFront:NSApp];
[mainSession startRunning];
Я определил, что закомментированная часть является источником ошибки:
[QTCaptureDeviceInput initWithDevice:]-
не может инициализировать ввод устройства с устройством, которое не открыто.
Я проверил свою переменную "успеха" после открытых методов, и это да. Так почему же метод считает, что устройство не открыто?