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)

Во всяком случае, проблема в том, что CMSampleBufferGetImageBufferCVImageBufferGetEncodedSize не признаются Я получил ошибку:

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 и добавьте ее.

Другие вопросы по тегам