CMSampleBufferGetImageBuffer CVImageBufferGetEncodedSize создает проблемы
Это мой код:
-(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:
Это стандартная ошибка: неопределенные символы для архитектуры armv7 Но решения не работают для меня:
- Я правильно добавил фреймворк для Link Binary With Libraries.
- я импортировал <CoreMedia/CMSampleBuffer.h>
, который содержит эти классы в.h.
Так в чем проблема???
1 ответ
Решение
Вам нужно добавить CoreMedia.framework. Перейдите к своей цели -> Build Phases -> Link Binary With Libraries и добавьте ее.