我需要让录音机能够捕捉一些帧。 现在我尝试的只是设置AVCaptureSession有2个输入(音频和视频)和2个输出:
//configure output to writeVideo
self.movieFileOutput = [[AVCaptureMovieFileOutput alloc] init];
[self.session addOutput:self.movieFileOutput];
self.videoDataOutput = [[AVCaptureVideoDataOutput alloc] init];
[self.videoDataOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]];
// Configure output to catch frames.
dispatch_queue_t queue = dispatch_queue_create("myQueue", NULL);
[self.videoDataOutput setSampleBufferDelegate:self queue:queue];
[self.session addOutput:self.videoDataOutput];
接口文件中的我将类符合协议AVCaptureVideoDataOutputSampleBufferDelegate,AVCaptureFileOutputRecordingDelegate。写在文件中工作完美但方法
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
永远不会打电话给。 如果我删除[self.session addOutput:self.movieFileOutput]; line,以便会话输出中只有self.videoDataOutput。 捕捉想象力是完美的。
如何在这两个输出中配置videoInput。
感谢您提出的所有建议=)