Je suis en train d'ajouter deux entrées à un QTCaptureSession dans les domaines suivants:QTKit, ouverture des périphériques d'entrée?
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];
J'ai déterminé que la partie est commenté les sources de l'erreur:
[QTCaptureDeviceInput initWithDevice:]-
cannot intialize device input with device that is not open.
J'AVONS sondé ma variable "succès" après les méthodes ouvertes et il est oui. Alors pourquoi la méthode pense-t-elle que l'appareil n'est pas ouvert?
ne vous demande pas déjà? http://stackoverflow.com/questions/622567/cocoa-qtkit-and-recording-movies –
Eh bien, j'avais pensé à cela, et comme je ne posais pas 'exactement' ça, je pensais que j'aurais probablement plus de réponses avec une nouvelle question plutôt que d'essayer d'ajouter des détails à une question précédente, alors que ma question précédente demandait simplement une rétroaction générale. – cemulate