У меня есть это приложение записи видео, и мне нужно запускать метод каждый раз, когда захватывается кадр.После того, как я ударился головой о стену, я решил попробовать следующее: создать очередь отправки, как если бы я брал видео с выхода, просто чтобы вызвать метод, когда камера записывает кадр.
Я пытаюсь понять раздел кода, созданного Apple для записи видео, чтобы понять, как мне добавить очередь отправки.Это код яблока, а раздел, отмеченный звездочками, - это то, что я добавил, чтобы создать очередь.Он компилируется без ошибок, но captureOutput: didOutputSampleBuffer: fromConnection: никогда не вызывается.
- (BOOL) setupSessionWithPreset:(NSString *)sessionPreset error:(NSError **)error
{
BOOL success = NO;
// Init the device inputs
AVCaptureDeviceInput *videoInput = [[[AVCaptureDeviceInput alloc] initWithDevice:[self backFacingCamera] error:error] autorelease];
[self setVideoInput:videoInput]; // stash this for later use if we need to switch cameras
AVCaptureDeviceInput *audioInput = [[[AVCaptureDeviceInput alloc] initWithDevice:[self audioDevice] error:error] autorelease];
[self setAudioInput:audioInput];
AVCaptureMovieFileOutput *movieFileOutput = [[AVCaptureMovieFileOutput alloc] init];
[self setMovieFileOutput:movieFileOutput];
[movieFileOutput release];
// Setup and start the capture session
AVCaptureSession *session = [[AVCaptureSession alloc] init];
if ([session canAddInput:videoInput]) {
[session addInput:videoInput];
}
if ([session canAddInput:audioInput]) {
[session addInput:audioInput];
}
if ([session canAddOutput:movieFileOutput]) {
[session addOutput:movieFileOutput];
}
[session setSessionPreset:sessionPreset];
// I added this *****************
dispatch_queue_t queue = dispatch_queue_create("myqueue", NULL);
[[self videoDataOutput] setSampleBufferDelegate:self queue:queue];
dispatch_release(queue);
// ******************** end of my code
[session startRunning];
[self setSession:session];
[session release];
success = YES;
return success;
}
Мне нужен только метод, в котором я могу обрабатывать каждый записываемый кадр.
спасибо