AVCaptureVideoDataOutput和设置kCVPixelBufferWidthKey&kCVPixelBufferHeightKey

我试图通过设置kCVPixelBufferWidthKeykCVPixelBufferHeightKeyAVCaptureVideoDataOutput捕获特定大小的帧。
问题是缓冲区宽度和高度永远不会改变,它们总是回来852×640

这是我的代码:

 // Add the video frame output self.videoOutput = [[AVCaptureVideoDataOutput alloc] init]; [videoOutput setAlwaysDiscardsLateVideoFrames:YES]; // Use RGB frames instead of YUV to ease color processing [videoOutput setVideoSettings:[NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithFloat:320.0], (id)kCVPixelBufferWidthKey, [NSNumber numberWithFloat:320.0], (id)kCVPixelBufferHeightKey, [NSNumber numberWithInt:kCVPixelFormatType_32BGRA],(id)kCVPixelBufferPixelFormatTypeKey, nil]]; [videoOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()]; 

编辑:来自iOS AVCaptureOutput.h:目前,唯一支持的键是kCVPixelBufferPixelFormatTypeKey。

谁知道设置输出缓冲区宽度/高度的工作方法?

来自iOS AVCaptureOutput.h: Currently, the only supported key is kCVPixelBufferPixelFormatTypeKey.

这总结了一下。