Objective c CMSampleBufferGetImageBuffer CVImageBufferGetEncodedSize生成问题
这是我的代码:Objective c CMSampleBufferGetImageBuffer CVImageBufferGetEncodedSize生成问题,objective-c,linker-errors,core-media,Objective C,Linker Errors,Core Media,这是我的代码: -(void) captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection*)connection { CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer( sampleBuffer );
-(void) captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection*)connection
{
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer( sampleBuffer );
CGSize imageSize = CVImageBufferGetEncodedSize( imageBuffer );
// also in the 'mediaSpecific' dict of the sampleBuffer
NSLog( @"frame captured at %.fx%.f", imageSize.width, imageSize.height );
}
(这实际上与问题无关,但这是AVCaptureVideoDataOutputSampleBufferDelegate
的函数)
无论如何,问题是无法识别CMSampleBufferGetImageBuffer
CVImageBufferGetEncodedSize
。我得到了一个错误:
Undefined symbols for architecture i386:
"_CMSampleBufferGetImageBuffer", referenced from:
这是一个标准错误:
但解决方案对我不起作用:
-我添加了框架来正确地链接二进制文件和库。
-我导入了
,它在.h中包含这些类
那么问题出在哪里呢?您需要添加CoreMedia.framework。转到目标->构建阶段->将二进制文件链接到库并添加它