a lot of quicktime examples refer to QTAtomContainer to set Movie export parameters.
I've got all that working code from ancient times. Now I am using xcode 4 and the compiler cannot find QTAtomContain开发者_运维百科er. According to Apples documentation this should be declared in Movie.h. But there is no QTAtomContainer. Does someone know where Apple moved this declaration into or which header I am missing?
I finally I found the problem. In Quicktime a lot of symbols are defined !ONLY! if your xcode-project compiles in PLAIN 32-Bit mode. Universal binaries using "Standard (32/64 bit-Intel)" or just 64-Bit will never find these symbols. ("Standard (32/64 bit-Intel)" is the default setting of the actual xcode 4 series compiler. IMHO Quicktime will/must change. Lion will be shipped with 64Bit by default)
In "QuickTime/QuicktimeComponents.h" you will find the following line:
#if !__LP64__
That means if 64 Bit-Code is defined at least once, the compiler will not find the symbols
QTAtomContainer
MovieExportGetSettingsAsAtomContainer
MovieExportComponent
canMovieExportFiles
which have been missing until now. Now I can successfully use the example to set the VideoQuality settings in Quicktime using the QTMovieExportSettings key, which you can find here:
http://www.cocoadev.com/index.pl?QTMovieExportSettings
I am using the following headers:
#import <QuickTime/QuickTime.h>
#import <QuickTime/Movies.h>
#import <QTKit/QTKit.h>
These headers implicitly include "QuickTime/QuicktimeComponents.h"
Hope I could help someone else who struggled with this problem.
Greetings
Jack
Thanks for this! Four years later and I'm developing for OS X 10.7, this saved me lots of time, I'm sure.
精彩评论