Проблема с использованием метода QuickTime - PullRequest
0 голосов
/ 11 марта 2011

Я пытаюсь использовать QTCopyMovieMetaData , определенный в Quicktime / Movies.h. Я связал инфраструктуры QTKit и QuickTime с моей целью и импортировал все необходимое в мои файлы заголовков и реализации:

#import <Cocoa/Cocoa.h>
#import <Foundation/Foundation.h>
#import <QTKit/QTKit.h>
#import <QuickTime/QuickTime.h>
#import "Quicktime/Movies.h"

Тем не менее, я получаю ошибки компилятора за то, что они не распознают QTCopyMovieMetaData или QTMetaDataRef (также объявленный в Movies.h).

Пример кода в QTMediaEditor использует QTCopyMovieMetaData и успешно компилируется на моей машине для 32-битной цели, но не для 64-битной цели. Мое приложение не скомпилируется для 32 бит Сравнивая настройки сборки моего приложения с настройками сборки QTMediaEditors, я не вижу, что вызвало бы эту разницу.

Какой-нибудь совет относительно того, что может блокировать инфраструктуру QuickTime?

1 Ответ

2 голосов
/ 11 марта 2011

Функция QTCopyMovieMetaData недоступна в 64-битном режиме. Обратите внимание, что все содержимое Movies.h подчиняется условию #if !__LP64__; все в этом файле объявлено только для 32-битных архитектур.

Мое приложение не будет компилироваться для 32-разрядных.

Если вы имеете в виду, что отбрасываете 32-битную поддержку, хорошо; QuickTime уже имеет.

Вам необходимо использовать инфраструктуру метаданных для проверки файла . Обратите внимание, что это будет работать, только если файл находится на томе с индексом Spotlight, и только если файл был проиндексирован. В QTKit нет замены (в отличие от Snow Leopard, в любом случае) для API QTMetaData платформы QuickTime.

...