QTMovie Class Reference
| Inherits from | |
| Conforms to | |
| Framework | /System/Library/Frameworks/QTKit.framework |
| Availability | Available in OS X v10.4 and later. |
| Declared in | QTMovie.h |
Overview
A QTMovie object is an object that represents a playable collection of media data.
A QTMovie object can be initialized from a file, from a resource specified by a URL, from a block of memory, from a pasteboard, or from an existing QuickTime movie. Once a QTMovie object has been initialized, it will typically be used in combination with a QTMovieView for playback. It can also be used for other purposes, such as converting the media data into a different format.
The designated initializer for the QTMovie class is initWithAttributes:error:, whose first parameter is a dictionary of attribute keys and their desired values. One of these attributes must specify the location of the media data (for instance, using the QTMovieURLAttribute key). Other attributes may specify desired movie-opening behaviors, and others still may specify desired initial values of QTMovie properties (for instance, QTMovieVolumeAttribute).
There are two movie-opening behaviors. Specifying QTMovieOpenForPlaybackAttribute with the value YES indicates that the QTMovie object will be used only for playback, in which case QTKit may be able to use more efficient code paths for some media data. Specifying QTMovieOpenAsyncRequiredAttribute with the value YES indicates that all operations necessary to open the movie file (or other container) and to create a valid QTMovie object must occur asynchronously. In other words, initWithAttributes:error: will return almost immediately, performing any lengthy operations on another thread.
An exception, QTDisallowedForInitializationPurposeException, is raised whenever the client attempts to call a method that is not allowed under a requested movie-opening behavior. For example, if a QTMovie object is initialized with QTMovieOpenForPlaybackAttribute set to YES, then QTDisallowedForInitializationPurposeException is raised if the client attempts to call methods that export the media data. An exception, QTMovieUneditableException, is raised whenever the client attempts to directly or indirectly edit a QTMovie object that is not currently set as editable (for instance, by calling appendSelectionFromMovie: on an uneditable movie).
Tasks
Determining If a Movie Can Be Initialized
-
+ canInitWithFile: -
+ canInitWithURL: -
+ canInitWithPasteboard: -
+ canInitWithDataReference: -
– initWithPasteboard:error:
Getting a List of Supported File Types
-
+ movieFileTypes: -
+ movieTypesWithOptions: -
+ movieUnfilteredFileTypes -
+ movieUnfilteredPasteboardTypes
Creating a Movie
-
+ movie -
+ movieNamed:error: -
+ movieWithData:error: -
+ movieWithURL:error: -
+ movieWithPasteboard:error: -
+ movieWithFile:error: -
+ movieWithDataReference:error: -
+ movieWithQuickTimeMovie:disposeWhenDone:error: -
+ movieWithAttributes:error:
Controlling Movie Playback
-
– autoplay -
– play -
– stop -
– gotoBeginning -
– gotoEnd -
– gotoNextSelectionPoint -
– gotoPreviousSelectionPoint -
– gotoPosterTime -
– setCurrentTime: -
– stepForward -
– stepBackward
Managing Threaded Operations of Movie Objects
-
+ enterQTKitOnThread -
+ enterQTKitOnThreadDisablingThreadSafetyProtection -
+ exitQTKitOnThread -
– attachToCurrentThread -
– detachFromCurrentThread
Initializing a QTMovie
-
– initWithFile:error: -
– initWithURL:error: -
– initWithData:error: -
– initWithDataReference:error: -
– initWithMovie:timeRange:error: -
– initWithQuickTimeMovie:disposeWhenDone:error: -
– initWithAttributes:error:
Getting Information About a Movie and Its Chapters
-
– hasChapters -
– chapterCount -
– chapters -
– addChapters:withAttributes:error: -
– removeChapters -
– startTimeOfChapter: -
– chapterIndexForTime:
Inspecting Movie Properties
-
– duration -
– currentTime -
– rate -
– volume -
– muted -
– movieWithTimeRange:error: -
– attributeForKey: -
– movieAttributes
Managing QTMovie Idling States
Setting QTMovie Properties
Setting Movie Attributes
Supporting Aperture Modes
Getting and Setting Selection Times
Getting Movie Tracks
Getting Movie Images
Storing Movie Data
-
– initToWritableDataReference:error: -
– invalidate -
– initToWritableFile:error: -
– initToWritableData:error: -
– movieFormatRepresentation -
– writeToFile:withAttributes: -
– writeToFile:withAttributes:error:
Editing a Movie
-
– replaceSelectionWithSelectionFromMovie: -
– appendSelectionFromMovie: -
– insertSegmentOfMovie:timeRange:atTime: -
– insertSegmentOfMovie:fromRange:scaledToRange: -
– insertEmptySegmentAt: -
– deleteSegment: -
– scaleSegment:newDuration: -
– insertSegmentOfTrack:timeRange:atTime: -
– insertSegmentOfTrack:fromRange:scaledToRange: -
– removeTrack: -
– addImage:forDuration:withAttributes:
Saving a Movie
Getting QTMovie Primitives
Getting and Setting QTMovie Delegates
-
– delegate -
– setDelegate: -
– externalMovie:delegate method -
– movieShouldLoadData: -
– movieShouldTask:delegate method -
– movie:shouldContinueOperation:withPhase:atPercent:withAttributes:delegate method -
– movie:linkToURL:delegate method
Accessing QTMovie Visual Contexts
Class Methods
canInitWithDataReference:
Returns YES if the specified data reference can be used to initialize a QTMovie object.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hcanInitWithFile:
Returns YES if the contents of the specified file can be used to initialize a QTMovie object.
Parameters
- fileName
An
NSStringobject that specifies a full pathname to a file.
Return Value
YES if a QTMovie object can be initialized from the specified file, NO otherwise.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hcanInitWithPasteboard:
Returns YES if the contents of the specified pasteboard can be used to initialize a QTMovie object.
Parameters
- pasteboard
An
NSPasteboardobject.
Return Value
YES if a QTMovie object can be initialized from the specified pasteboard, NO otherwise.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hcanInitWithURL:
Returns YES if the contents of the specified URL can be used to initialize a QTMovie object.
Parameters
- url
An
NSURLobject.
Return Value
YES if a QTMovie object can be initialized from the specified URL, NO otherwise.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.henterQTKitOnThread
Performs any QuickTime-specific initialization for the current (non-main) thread; must be paired with a call to exitQTKitOnThread.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.henterQTKitOnThreadDisablingThreadSafetyProtection
Performs any QuickTime-specific initialization for the current (non-main) thread, allowing non-thread-safe components; must be paired with a call to exitQTKitOnThread.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hexitQTKitOnThread
Performs any QuickTime-specific shut-down for the current (non-main) thread; must be paired with a call to enterQTKitOnThread or enterQTKitOnThreadDisablingThreadSafetyProtection.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hmovie
Creates an empty QTMovie object.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieFileTypes:
Returns an array of file types that can be opened as QuickTime movies.
Discussion
Passing zero as the options parameter returns an array of all the common file types that QuickTime can open in place on the current system. This array includes the file type .mov and .mqv, and any files types that can be opened using a movie importer that does not need to write data into a new file while performing the import. This array excludes any file types for still images and any file types that require an aggressive movie importer (for instance, the movie importer for text files). For more information, refer to “Constants For Use With movieFileTypes: Method.”
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieNamed:error:
Creates a QTMovie object initialized with the data from the QuickTime movie of the specified name in the application’s bundle.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieTypesWithOptions:
Returns an array of UTIs that QuickTime can open.
Discussion
This method gets an array of NSString objects that specify the uniform type identifiers (UTIs) for types of files that QuickTime can open. The types parameter is interpreted just like the types parameter to + (NSArray *)movieFileTypes:(QTMovieFileTypeOptions)types.
Availability
- QuickTime 7.2.1 or later.
Declared In
QTMovie.hmovieUnfilteredFileTypes
Returns an array of file types that can be used to initialize a QTMovie object.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieUnfilteredPasteboardTypes
Returns an array of pasteboard types that can be used to initialize a QTMovie object.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieWithAttributes:error:
Creates a QTMovie object initialized with the attributes specified in attributes.
Parameters
- attributes
An
NSDictionaryobject whose key-value pairs specify the attributes to use when initializing the movie.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
A new QTMovie object is created using the specified attributes. There are three types of attributes that can be included in this dictionary:
Attributes that specify the location of the movie data, for instance,
QTMovieFileNameAttribute.Attributes that specify how the movie is to be instantiated, for instance,
QTMovieOpenForPlaybackAttribute.Attributes that specify playback characteristics of the movie or other properties of the
QTMovieobject, for instance,QTMovieVolumeAttribute.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieWithData:error:
Creates a QTMovie object initialized with the data specified by data.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieWithDataReference:error:
Creates a QTMovie object initialized with the data specified by the data reference dataReference.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieWithFile:error:
Creates a QTMovie object initialized with the data in the file specified by the name fileName.
Discussion
The fileName is assumed to be a full path name for a file.
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieWithPasteboard:error:
Creates a QTMovie object initialized with the contents of the pasteboard specified by pasteboard.
Discussion
These contents can be a QuickTime movie (of type Movie), a file path, or data of type QTMoviePasteboardType.
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieWithQuickTimeMovie:disposeWhenDone:error:
Creates a QTMovie object initialized from an existing QuickTime movie movie.
Discussion
This method cannot be called by 64-bit applications.
The dispose parameter (a BOOL) indicates whether the QTKit should call DisposeMovie on the specified movie when the QTMovie object is deallocated. Passing YES effectively transfers “ownership” of the Movie to the QTKit. (Note that most applications will probably want to pass YES; passing NO means that the application wants to call DisposeMovie itself, perhaps so that it can operate on a Movie after it has been disassociated with a QTMovie object.)
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Note that command-line tools that pass NO for the disposeWhenDone parameter must make sure to release the active autorelease pool before calling DisposeMovie on the specified QuickTime movie. Failure to do this may result in a crash. Tools that need to call DisposeMovie before releasing the main autorelease pool can create another autorelease pool associated with the movie.
Availability
- Available in OS X v10.3 and later.
- Not available to 64-bit applications.
Declared In
QTMovie.hmovieWithURL:error:
Creates a QTMovie object initialized with the data in the URL specified by url.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hInstance Methods
addChapters:withAttributes:error:
Adds chapters to the receiver using the information specified in the chapters array.
Parameters
- chapters
An
NSArray thatcontains one dictionary per chapter. The dictionary entries are:QTMovieChapterName, anNSStringobject that is the chapter name.QTMovieChapterStartTime, anNSValueobject that wraps a QTTime structure that indicates the start time of the chapter.
- attributes
An NSDictionary that contains settings for the new chapter track and its text. The following keys are currently recognized:
QTMovieChapterTargetTrackAttribute, aQTTrackthat is the target of the chapter track; if none is specified, use first video track in movie.QTTrackDisplayNameAttribute, anNSStringthat is the name of the chapter track; if none is specified, use "Chapter Track".QTTrackTimeScaleAttribute, anNSNumberthat wraps a long; this is the time scale of the chapter track. If not present, the time scale of the target track is used.QTTrackBoundsAttribute, anNSValuethat wraps anNSRectthat specifies the desired position and size of the chapter track. The default width and height are those of the receiverQTMovieobject.QTTrackEnabledAttribute, anNSNumberthat wraps aBOOL; ifYES, the chapter track is enabled, otherwise disabled (which is the default).QTTrackLayerAttribute, anNSNumberthat wraps a short; this is the layer of the chapter track (default is -1).
- errorPtr
A pointer to an
NSErrorinstance; if non-NULL, return any error in that location.
Discussion
Each array element is an NSDictionary containing key-value pairs. Currently two keys are defined for this dictionary, QTMovieChapterName and QTMovieChapterStartTime. The value for the QTMovieChapterName key is an NSString object that is the chapter name. The value for the QTMovieChapterStartTime key is an NSValue object that wraps a QTTime structure that indicates the start time of the chapter. The receiving QTMovie object must be editable or an exception will be raised.
The attributes dictionary specifies additional attributes for the chapters. Currently only one key is recognized for this dictionary, QTMovieChapterTargetTrackAttribute, which specifies the QTTrack in the receiver that is the target of the chapters; if none is specified, this method uses first video track in movie. If no video track is in the movie, this method uses the first audio track in the movie. If no audio track is in the movie, this method uses the first track in the movie. If an error occurs and errorPtr is non-NULL, then an NSError object is returned in that location.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.haddImage:forDuration:withAttributes:
Adds an image for the specified duration to the receiver, using attributes specified in the attributes dictionary.
Discussion
Keys in the dictionary can be QTAddImageCodecType to select a codec type and QTAddImageCodecQuality to select a quality. Qualities are expected to be specified as NSNumbers, using the codec values like codecNormalQuality. (See ImageCompression.h for the complete list.) The attributes dictionary can also contain a value for the QTTrackTimeScaleAttribute key, which is used as the time scale of the new track, should one need to be created. The default time scale for a new track is 600.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.happendSelectionFromMovie:
Appends to a QTMovie the current selection in movie.
Discussion
If the movie is not editable, this method raises an exception.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hattachToCurrentThread
Attaches the receiver to the current thread; returns YES if successful, NO otherwise.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hattributeForKey:
Returns the current value of the movie attribute attributeKey.
Discussion
A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hautoplay
Sets a movie to start playing when a sufficient amount of media data is available.
Discussion
The autoplay method configures a QTMovie object to begin playing as soon as enough data is available that the playback can continue uninterrupted to the end of the movie. This is most useful for movies being loaded from a remote URL or from an extremely slow local device. For movies stored on most local devices, this method has the same effect as the -[QTMovie play] method.
Availability
- QuickTime 7.2.1 or later.
Declared In
QTMovie.hcanUpdateMovieFile
Indicates whether a movie file can be updated with changes made to the movie object.
Discussion
This method returns NO if any of the following conditions are true:
The movie is not associated with a file.
The movie is not savable (has
'nsav'user data set to 1).The movie file is not writable.
The movie file does not contain a movie atom (indicating that the movie was imported from a non-movie format).
Otherwise, the method returns YES.
Using this method, an application can check first to see if the movie file can be updated; if not, it can prompt the user for a new name and location of a file in which to save the updated movie.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hchapterCount
Returns the number of chapters in the receiver, or 0 if there are no chapters.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hchapterIndexForTime:
Returns the 0-based index of the chapter that contains the specified movie time.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hchapters
Returns an NSArray containing information about the chapters in the receiver.
Discussion
Each array element is an NSDictionary containing key-value pairs. Currently two keys are defined for this dictionary, QTMovieChapterName and QTMovieChapterStartTime. The value for the QTMovieChapterName key is an NSString object that is the chapter name. The value for the QTMovieChapterStartTime key is an NSValue object that wraps a QTTime structure that indicates the start time of the chapter.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hcurrentFrameImage
Returns an NSImage for the frame at the current time in a QTMovie.
Availability
- Available in OS X v10.3 and later.
See Also
Declared In
QTMovie.hcurrentTime
Returns the current time of a QTMovie object as a structure of type QTTime.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hdelegate
Returns the delegate of a QTMovie object.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hdeleteSegment:
Deletes from a QTMovie the segment delimited by segment.
Discussion
If the movie is not editable, this method raises an exception.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hdetachFromCurrentThread
Detaches the receiver from the current thread; returns YES if successful, NO otherwise.
Discussion
These methods allow applications to manage QTMovie objects on non-main threads. Before any QTKit operations can be performed on a secondary thread, either enterQTKitOnThread or enterQTKitOnThreadDisablingThreadSafetyProtection must be called, and exitQTKitOnThread must be called before exiting the thread. A QTMovie object can be migrated from one thread to another by first calling detachFromCurrentThread on the first thread and then attachToCurrentThread on the second thread.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hduration
Returns the duration of a QTMovie object as a structure of type QTTime.
Discussion
This method can be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hframeImageAtTime:
Returns an NSImage for the frame at the time time in a QTMovie.
Availability
- Available in OS X v10.3 and later.
See Also
Declared In
QTMovie.hframeImageAtTime:withAttributes:error:
Returns an NSImage*, CIImage*, CGImageRef, CVPixelBufferRef, or CVOpenGLTextureRef for the movie image at the specified time
Discussion
if an error occurs and the desired type of image cannot be created, then this returns nil and sets errorPtr to an NSError * describing the error. The dictionary of attributes that contain these keys is described in “Dictionary of Frame Image Attributes .”
Availability
- Available in OS X v10.5 and later.
Declared In
QTMovie.hgenerateApertureModeDimensions
Adds information to a QTMovie needed to support aperture modes for tracks created with applications and/or versions of QuickTime that did not support aperture mode dimensions.
Discussion
If the image descriptions in video tracks lack tags describing clean aperture and pixel aspect ratio information, the media data is scanned to see if the correct values can be divined and attached. Then the aperture mode dimensions are calculated and set. Afterwards, the QTTrackHasApertureModeDimensionsAttribute property will be set to YES for those tracks. Tracks that do not support aperture modes are not changed.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hgotoBeginning
Repositions the play position to the beginning of the movie.
Discussion
If the movie is playing, the movie continues playing from the new position.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hgotoEnd
Repositions the play position to the end of the movie.
Discussion
If the movie is playing in one of the looping modes, the movie continues playing accordingly; otherwise, play stops.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hgotoNextSelectionPoint
Repositions the movie to the next selection point.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hgotoPosterTime
Repositions the play position to the movie’s poster time.
Discussion
If no poster time is defined, the movie jumps to the beginning. If the movie is playing, the movie continues playing from the new position.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hgotoPreviousSelectionPoint
Repositions the movie to the previous selection point.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hhasChapters
Returns YES if the receiver has chapters, NO otherwise.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hinitToWritableData:error:
Useful for directly passing filenames and data objects. The QTMovie returned by this method is editable.
Discussion
These methods––initToWritableDataReference:error:, initToWritableFile:error: and initToWritableData:error:––create an empty, writable storage container to which media data can be added (for example, using the QTMovie addImage method). The methods return QTMovie objects associated with those containers.
Special Considerations
This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- QuickTime 7.2.1 or later.
Declared In
QTMovie.hinitToWritableDataReference:error:
Creates a new storage container at the location specified by dataReference and returns a QTMovie object that has that container as its default data reference.
Special Considerations
This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- QuickTime 7.2.1 or later.
Declared In
QTMovie.hinitToWritableFile:error:
Useful for directly passing filenames and data objects. The QTMovie returned by this method is editable.
Special Considerations
This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- QuickTime 7.2.1 or later.
Declared In
QTMovie.hinitWithAttributes:error:
Initializes a QTMovie object with the attributes specified in attributes.
Parameters
- attributes
An
NSDictionaryobject whose key-value pairs specify the attributes to use when initializing the movie.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
A new QTMovie object is created using the specified attributes. There are three types of attributes that can be included in this dictionary:
Attributes that specify the location of the movie data, for instance,
QTMovieFileNameAttribute.Attributes that specify how the movie is to be instantiated, for instance,
QTMovieOpenForPlaybackAttribute.Attributes that specify playback characteristics of the movie or other properties of the
QTMovieobject, for instance,QTMovieVolumeAttribute.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinitWithData:error:
Initializes a QTMovie object with the data specified by data.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinitWithDataReference:error:
Initializes a QTMovie object with the data reference setting specified by dataReference.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinitWithFile:error:
Initializes a QTMovie object with the data in the file specified by the name fileName.
Discussion
The fileName is assumed to be a full path name for a file. If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Note that alias files should not be passed into this method; the client application is responsible for resolving aliases before handing them to QTKit methods.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinitWithMovie:timeRange:error:
Initializes a QTMovie object with some or all of the data from an existing QTMovie object movie.
Discussion
The section of data used is delimited by the range range. If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinitWithPasteboard:error:
Initializes a QTMovie object with the contents of the pasteboard specified by pasteboard.
Discussion
These contents can be a QuickTime movie (of type Movie), a file path, or data of type QTMoviePasteBoardType. If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinitWithQuickTimeMovie:disposeWhenDone:error:
Initializes a QTMovie object with the data from an existing QuickTime movie movie.
Parameters
- movie
A QuickTime movie (of type
Movie).- dispose
A
BOOLvalue that indicates whether QTKit should callDisposeMovieon the specified QuickTime movie when theQTMovieobject is deallocated. PassingYESeffectively transfers ownership of the Movie to QTKit.
Discussion
This method cannot be called by 64-bit applications.
This is the designated initializer for the QTMovie class. The dispose parameter (a BOOL) indicates whether the QTKit should call DisposeMovie on the specified movie when the QTMovie object is deallocated. Passing YES effectively transfers “ownership” of the Movie to the QTKit. (Note that most applications will probably want to pass YES; passing NO means that the application wants to call DisposeMovie itself, perhaps so that it can operate on a Movie after it has been disassociated from a QTMovie object.) Command-line tools that pass NO for the dispose parameter must make sure to release the active autorelease pool before calling DisposeMovie on the specified QuickTime movie. Failure to do this may result in a crash. Tools that need to call DisposeMovie before releasing the main autorelease pool can create another autorelease pool associated with the movie.
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
- Not available to 64-bit applications.
Declared In
QTMovie.hinitWithURL:error:
Initializes a QTMovie object with the data in the URL specified by url.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinsertEmptySegmentAt:
inserts into a QTMovie an empty segment delimited by the range range.
Discussion
If the movie is not editable, this method raises an exception.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinsertSegmentOfMovie:fromRange:scaledToRange:
Inserts the specified segment from the movie into the receiver, scaled to the range dstRange.
Discussion
This is essentially an Add Scaled operation on a movie. If the movie is not editable, this method raises an exception.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinsertSegmentOfMovie:timeRange:atTime:
Inserts into a QTMovie at time time the selection in movie delimited by the time range range.
Discussion
If the movie is not editable, this method raises an exception.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hinsertSegmentOfTrack:fromRange:scaledToRange:
Inserts the specified segment of a QTTrack object into a QTMovie, scaling it as necessary to fit into the specified target range.
Availability
- Available in OS X v10.5 and later.
Declared In
QTMovie.hinsertSegmentOfTrack:timeRange:atTime:
Inserts the specified segment of a QTTrack object into a QTMovie, at the specified time in the target QTMovie.
Availability
- Available in OS X v10.5 and later.
Declared In
QTMovie.hinvalidate
Invalidates a QTMovie object immediately.
Discussion
By the time this method has returned, the receiver will have detached itself from any resources it is using, disposing of these resources when appropriate. Attempting to make any non-trivial use of the receiver after invalidating it will result in undefined behavior. This method does not release the receiver, so under retain-release memory management, release must still be called on the receiver for it to be fully deallocated. Because this method defeats sharing of QTMovie objects, it should only be called when it is known that the object is no longer needed.
Clients that pass NO for the dispose parameter must invalidate the QTMovie object (by calling -[QTMovie invalidate]) before calling DisposeMovie on the specified QuickTime movie. Failure to do this may result in a crash.
Special Considerations
This method can be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- QuickTime 7.2.1 or later.
See Also
Declared In
QTMovie.hisIdling
Returns the current idling state of a QTMovie object.
Return Value
YES if the movie is idling, NO otherwise.
Discussion
This method allows you to manage the idling state of a QTMovie object, that is, whether it is being tasked. Note that movies attached to a background thread should not be idled; if they are idled, unexpected behavior can result. This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.5 and later.
Declared In
QTMovie.hmovieAttributes
Returns a dictionary containing the current values of all defined movie attributes.
Discussion
A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieFormatRepresentation
Returns the movie’s data in an NSData object.
Availability
- Available in OS X v10.3 and later.
See Also
Declared In
QTMovie.hmovieShouldLoadData:
If implemented by a delegate of a QTMovie object, called periodically while the movie is loading its data.
Parameters
- sender
The
QTMovieobject that is loading its data.
Return Value
A BOOL value; this value is ignored by QTKit.
Special Considerations
This delegate method is deprecated and should not be used in new code. This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
movieWithTimeRange:error:
Returns a QTMovie object whose data is the data in the specified time range.
Discussion
If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.
Special Considerations
This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmuted
Returns the movie’s mute setting.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hposterImage
Returns an NSImage for the poster frame of a QTMovie.
Availability
- Available in OS X v10.3 and later.
See Also
Declared In
QTMovie.hquickTimeMovie
Returns the QuickTime movie associated with a QTMovie object.
Availability
- Available in OS X v10.3 and later.
- Not available to 64-bit applications.
See Also
Declared In
QTMovie.hquickTimeMovieController
Returns the QuickTime movie controller associated with a QTMovie object.
Availability
- Available in OS X v10.3 and later.
- Not available to 64-bit applications.
See Also
Declared In
QTMovie.hrate
Returns the current rate of a QTMovie object.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hremoveApertureModeDimensions
Removes aperture mode dimension information from a movie's tracks.
Discussion
This method does not attempt to modify sample descriptions, so it may not completely reverse the effects of generateApertureModeDimensions. It sets the QTMovieHasApertureModeDimensionsAttribute property to NO.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hremoveChapters
Removes any existing chapters from the receiver.
Discussion
Returns YES if either the receiver had no chapters or the chapters were successfully removed from the receiver. Returns NO if the chapters could not for some reason be removed from the receiver. The receiving QTMovie object must be editable or an exception will be raised.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hremoveTrack:
Removes a QTTrack from a movie.
Availability
- Available in OS X v10.5 and later.
Declared In
QTMovie.hreplaceSelectionWithSelectionFromMovie:
Replaces the current selection in a QTMovie with the current selection in movie.
Discussion
If the movie is not editable, this method raises an exception.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hscaleSegment:newDuration:
Scales the QTMovie segment delimited by the segment segment so that it will have the new duration newDuration.
Discussion
If the movie is not editable, this method raises an exception.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hselectionDuration
Returns the duration of the movie’s current selection as a QTTime structure.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hselectionEnd
Returns the end point of the movie’s current selection as a QTTime structure.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hselectionStart
Returns the start time of the movie’s current selection as a QTTime structure.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetAttribute:forKey:
Set the movie attribute attributeKey to the value specified by the value parameter.
Discussion
A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetCurrentTime:
Sets the movie’s current time setting to time.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetDelegate:
Sets the movie’s delegate to delegate.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetIdling:
Sets the movie to idle YES or not to idle NO.
Parameters
- state
A Boolean value that indicates whether to idle the movie (
YES) or not (NO).
Discussion
This method allows you to manage the idling state of a QTMovie object, that is, whether it is being tasked. Note that movies attached to a background thread should not be idled; if they are idled, unexpected behavior can result. This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.5 and later.
Declared In
QTMovie.hsetMovieAttributes:
Set the movie attributes using the key-value pairs specified in the dictionary attributes.
Discussion
A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetMuted:
Sets the movie’s mute setting to mute.
Discussion
Note that this does not affect the volume.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetRate:
Sets the movie’s rate to rate.
Discussion
For instance, 0.0 is stop, 1.0 is playback at normal speed, 2.0 is twice normal speed, and so on.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetSelection:
Sets the movie’s selection to selection.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hsetVisualContext:
Sets the visual context of the QTMovie.
Availability
- Available in OS X v10.5 and later.
- Not available to 64-bit applications.
Declared In
QTMovie.hsetVolume:
Sets the movie’s volume to volume.
Discussion
Note that this does not affect the movie’s stored settings.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hstartTimeOfChapter:
Returns a QTTime structure that is the start time of the chapter having the specified 0-based index in the list of chapters.
Availability
- OS X v10.5 and later.
Declared In
QTMovie.hstepBackward
Sets the movie backward a single frame.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hstepForward
Sets the movie forward a single frame.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hstop
Stops the movie playing.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.htracks
Returns an array of QTTrack objects associated with the receiver.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.htracksOfMediaType:
Returns an array of tracks with the specified media type.
Discussion
The type parameter should be one of the media types defined by constants in QTMedia.h beginning with "QTMediaType", for instance, QTMediaTypeVideo.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hupdateMovieFile
Updates the movie file of a QTMovie.
Discussion
Returns YES if the update succeeds and NO otherwise.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hvisualContext
Allows access to the visual context of the QTMovie.
Availability
- Available in OS X v10.5 and later.
- Not available to 64-bit applications.
Declared In
QTMovie.hvolume
Returns the movie’s volume as a scalar value of type float.
Discussion
The valid range is 0.0 to 1.0.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hwriteToFile:withAttributes:
Returns YES if the movie file was successfully created and NO otherwise.
Discussion
This method returns YES if the movie file was successfully created and NO otherwise. NO will also be returned if the load state of the target is less than QTMovieLoadStateComplete, in which case no attempt is made to write the QTMovie into a file. If the dictionary attributes contains an object whose key is QTMovieFlatten, then the movie is flattened into the specified file. If the dictionary attributes contains an object whose key is QTMovieExport, then the movie is exported into the specified file using a movie exporter whose type is specified by the value of the key QTMovieExportType. The value associated with the QTMovieExportSettings key should be an object of type NSData that contains an atom container of movie export settings.
Availability
- QuickTime 7.2.1 or later.
See Also
Declared In
QTMovie.hwriteToFile:withAttributes:error:
Returns an NSError object if an error occurs and if errorPtr is non-NULL.
Discussion
The method operates exactly like the existing QTMovie writeToFile:withAttributes method.
Availability
- Available in OS X v10.5 and later.
See Also
Declared In
QTMovie.hDelegate Methods
externalMovie:
This method is called, if implemented by a QTMovie delegate object, when an external movie needs to be found (usually for a wired action targeted at an external movie).
Parameters
- dictionary
An
NSDictionaryobject that contains information about the desired external movie.
Return Value
A QTMovie object.
Discussion
The keys for the dictionary in this delegate method are: QTMovieTargetIDNotificationParameter and QTMovieTargetNameNotificationParameter. The QTMovieTargetIDNotificationParameter key indicates that the delegate should return a QTMovie object that has the specified movie ID. The QTMovieTargetNameNotificationParameter key indicates that the delegate should return a QTMovie object that has the specified movie name.
This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovie:linkToURL:
If implemented by a delegate of a QTMovie object, called to handle the movie controller actionmcActionLinkToURL.
Parameters
- movie
A
QTMovieobject.- url
An
NSURLobject.
Return Value
A BOOL value; a delegate should return YES if it handled this method, NO otherwise.
Discussion
QTMovie objects can contain requests to open URLs. An application can implement this delegate method to override the default URL-opening mechanism in QTKit. In general, most applications will not need to install a delegate to handle this. This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovie:shouldContinueOperation:withPhase:atPercent:withAttributes:
If implemented, this method is called periodically during lengthy operations (such as exporting a movie).
Parameters
- op
An
NSStringobject that is a localized description of the operation being performed.- phase
A value of type
QTMovieOperationPhasethat indicates indicates whether the operation is just beginning (QTMovieOperationBeginPhase), ending (QTMovieOperationEndPhase), or is at a certain percentage of completion (QTMovieOperationUpdatePercentPhase).- percent
When the phase parameter is
QTMovieOperationUpdatePercentPhase, the approximate percentage of the operation completed.- attributes
An
NSDictionaryobject that the same dictionary passed to aQTMoviemethod that caused the lengthy operation (for example, the attributes dictionary passed towriteToFile:withAttributes:error:). This parameter may be nil.
Return Value
A BOOL value; a delegate should return YES to continue the lengthy operation, NO to cancel it.
Discussion
A delegate can implement this method. The op string is a localized string that indicates what the operation is. The phase indicates whether the operation is just beginning, ending, or is at a certain percentage of completion. If the phase is QTMovieOperationUpdatePercentPhase, then the percent parameter indicates the percentage of the operation completed. The attributes dictionary may be NIL; if not NIL, it is the same dictionary passed to a QTMovie method that caused the lengthy operation (for example, the attributes dictionary passed to writeToFile). The constants for this method are defined as follows:
typedef enum { |
QTMovieOperationBeginPhase = movieProgressOpen, |
QTMovieOperationUpdatePercentPhase = movieProgressUpdatePercent, |
QTMovieOperationEndPhase = movieProgressClose |
} |
Special Considerations
This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hmovieShouldTask:
If a QTMovie object has a delegate and that delegate implements this method, that method will be called before QTKit performs the standard idle processing on a movie.
Parameters
- movie
The
QTMovieobject that is about to perform idle processing.
Return Value
A BOOL value; a delegate should return YES to cancel the standard movie idle processing, NO otherwise.
Discussion
The delegate can cancel that normal processing by returning YES.
Special Considerations
This delegate method is deprecated and should not be used in new code. This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.
Availability
- Available in OS X v10.3 and later.
Declared In
QTMovie.hConstants
Constants For Use With movieFileTypes: Method
The following values can be used to include some or all of the file types that are normally excluded:
typedef enum {
QTIncludeStillImageTypes = 1 << 0,
QTIncludeTranslatableTypes = 1 << 1,
QTIncludeAggressiveTypes = 1 << 2,
QTIncludeCommonTypes = 0,
QTIncludeAllTypes = 0xffff
} QTMovieFileTypeOptions;
Constants
QTIncludeStillImageTypesThis value adds to the array all file types for still images that can be opened using a graphics importer.
Available in OS X v10.3 and later.
Declared in
QTMovie.h.QTIncludeTranslatableTypesThis value adds to the array all file types for files that can be opened using a movie importer but for which a new file must be created.
Available in OS X v10.3 and later.
Declared in
QTMovie.h.QTIncludeAggressiveTypesThis value adds to the array all file types for files that can be opened using a movie importer but that are not commonly used in connection with movies (for instance, text or HTML files).
Available in OS X v10.3 and later.
Declared in
QTMovie.h.QTIncludeCommonTypesThis value adds to the array all common file types that QuickTime can open in place on the current system.
Available in OS X v10.3 and later.
Declared in
QTMovie.h.QTIncludeAllTypesThis value adds to the array all file types that QuickTime can open on the current system, using any available movie or graphics importer.
Available in OS X v10.3 and later.
Declared in
QTMovie.h.
Settable and Gettable Movie Attributes
The following constants specify the movie attributes that you can get and set using the movieAttributes and setMovieAttributes methods. To get or set a single attribute, use attributeForKey or setAttribute.
NSString * const QTMovieApertureModeAttribute; NSString * const QTMovieActiveSegmentAttribute; NSString * const QTMovieAutoAlternatesAttribute; NSString * const QTMovieCopyrightAttribute; NSString * const QTMovieCreationTimeAttribute; NSString * const QTMovieCurrentSizeAttribute; NSString * const QTMovieCurrentTimeAttribute; NSString * const QTMovieDataSizeAttribute; NSString * const QTMovieDelegateAttribute; NSString * const QTMovieDisplayNameAttribute; NSString * const QTMovieDurationAttribute; NSString * const QTMovieEditableAttribute; NSString * const QTMovieFileNameAttribute; NSString * const QTMovieHasApertureModeDimensionsAttribute; NSString * const QTMovieHasAudioAttribute; NSString * const QTMovieHasDurationAttribute; NSString * const QTMovieHasVideoAttribute; NSString * const QTMovieIsActiveAttribute; NSString * const QTMovieIsInteractiveAttribute; NSString * const QTMovieIsLinearAttribute; NSString * const QTMovieIsSteppableAttribute; NSString * const QTMovieLoadStateAttribute; NSString * const QTMovieLoadStateErrorAttribute; NSString * const QTMovieLoopsAttribute; NSString * const QTMovieLoopsBackAndForthAttribute; NSString * const QTMovieModificationTimeAttribute; NSString * const QTMovieMutedAttribute; NSString * const QTMovieNaturalSizeAttribute; NSString * const QTMoviePlaysAllFramesAttribute; NSString * const QTMoviePlaysSelectionOnlyAttribute; NSString * const QTMoviePosterTimeAttribute; NSString * const QTMoviePreferredMutedAttribute; NSString * const QTMoviePreferredRateAttribute; NSString * const QTMoviePreferredVolumeAttribute; NSString * const QTMoviePreviewModeAttribute; NSString * const QTMoviePreviewRangeAttribute; NSString * const QTMovieRateAttribute; NSString * const QTMovieSelectionAttribute; NSString * const QTMovieTimeScaleAttribute; NSString * const QTMovieURLAttribute; NSString * const QTMovieVolumeAttribute; NSString * const QTMovieRateChangesPreservePitchAttribute;
Constants
QTMovieApertureModeAttributeSets the aperture mode attribute on a
QTMovieobject to indicate whether aspect ratio and clean aperture correction should be performed.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieActiveSegmentAttributeThe active segment of a
QTMovieobject; the value for this key is of type NSValue, interpreted as a QTTimeRange structure. This constant is available in OS X v10.4 and later, but deprecated in OS X v10.5.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieAutoAlternatesAttributeThe auto-alternate state of a
QTMovieobject. The value for this key is of typeNSNumber, interpreted as aBOOL.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieCopyrightAttributeThe copyright string of a
QTMovieobject; the value for this key is of typeNSString.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieCreationTimeAttributeThe creation time of a
QTMovieobject; the value for this key is of typeNSDate.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieCurrentSizeAttributeThe current size of a
QTMovieobject; the value for this key is of typeNSValue, interpreted as anNSSizestructure.This attribute can be read and written. This attribute cannot be read or written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES. This attribute is deprecated in QTKit version 7.6 and later.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieCurrentTimeAttributeThe current time of a
QTMovieobject; the value for this key is of typeNSValue, interpreted as a QTTime structure.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieDataSizeAttributeThe data size of a
QTMovie. The value for this key is of typeNSNumber, which is interpreted as alonglong.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieDelegateAttributeThe delegate for a
QTMovieobject. The value for this key is of typeNSObject.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieDisplayNameAttributeThe display name of a
QTMovieobject. A display name is stored as user data in a movie file and hence may differ from the base name of the movie’s filename or URL. The value for this key is of typeNSString.This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieDontInteractWithUserAttributeWhen set in a dictionary passed to
movieWithAttributesorinitWithAttributes, this prevents QuickTime from interacting with the user during movie initialization. The value for this key is of typeNSNumber, interpreted as aBOOL.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieDurationAttributeThe duration of a
QTMovieobject; the value for this key is of typeNSValue, interpreted as aQTTimestructure.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieEditableAttributeThe editable setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie can be edited.This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieFileNameAttributeThe file name string of a
QTMovieobject; the value for this key is of typeNSString.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieHasApertureModeDimensionsAttributeThe aperture mode dimensions set on any track in this
QTMovieobject, even if those dimensions are all identical to the classic dimensions (as is the case for content with square pixels and no edge-processing region). The value for this key is of typeNSNumber, interpreted as aBOOL.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieHasAudioAttributeThe audio data setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie contains audio data.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieHasDurationAttributeThe duration setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie has a duration. (Some types of movies, for instance QuickTime VR movies, have no duration.)This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieHasVideoAttributeThe video data setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie contains video data.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieIsActiveAttributeThe active setting; the value for this key is of type
NSNumber, interpreted as aBOOL.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieIsInteractiveAttributeThe interactive setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie is interactive.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieIsLinearAttributeThe linear setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie is linear, as opposed to a non-linear QuickTime VR movie.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieIsSteppableAttributeThe steppable setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie can step from frame to frame.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieLoadStateAttributeThe load state value; the value for this key is of type
NSNumber, interpreted as along.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Declared in
QTMovie.h.OS X v10.5 and later.
QTMovieLoadStateErrorAttributeThe load state error of a
QTMovieobject; the value for this key is of typeNSError.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Declared in
QTMovie.h.QuickTime 7.6.3 and later.
QTMovieLoopsAttributeThe looping setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie is set to loop,NOotherwise.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieLoopsBackAndForthAttributeThe palindrome looping setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie is set to loop back and forth. Note thatQTMovieLoopsAttributeandQTMovieLoopsBackAndForthAttributeare independent and indeed exclusive.QTMovieLoopsAttributeis used to get and set the state of normal looping;QTMovieLoopsBackAndForthAttributeis used to get and set the state of palindrome looping.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieModificationTimeAttributeThe modification time of a
QTMovieobject; the value for this key is of typeNSDate.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieMutedAttributeThe mute setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie volume is muted.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieNaturalSizeAttributeThe natural size of a
QTMovieobject; the value for this key is of typeNSValue, interpreted as anNSSizestructure.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePlaysAllFramesAttributeThe play-all-frames setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie will play all frames.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePlaysSelectionOnlyAttributeThe play-selection setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie will play only the current selection.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePosterTimeAttributeThe movie poster time of a
QTMovieobject; the value for this key is of typeNSValue, interpreted as aQTTimestructure.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePreferredMutedAttributeThe preferred mute setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie preferred mute setting is muted.This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.The preferred settings refer to settings contained in the movie file (or movie data) itself. The actual settings refer to the actual values of those settings. For instance, a movie can have a preferred rate of 2, and a good movie playing application will respect that setting. But an application or the user can set the actual rate to some other value. The non-preferred settings can change dynamically, but the preferred settings will not.
Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePreferredRateAttributeThe preferred rate; the value for this key is of type
NSNumber, interpreted as afloat.This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.The preferred settings refer to settings contained in the movie file (or movie data) itself. The actual settings refer to the actual values of those settings. For instance, a movie can have a preferred rate of 2, and a good movie playing application will respect that setting. But an application or the user can set the actual rate to some other value. The non-preferred settings can change dynamically, but the preferred settings will not.
Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePreferredVolumeAttributeThe preferred volume; the value for this key is of type
NSNumber, interpreted as afloat.This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.The preferred settings refer to settings contained in the movie file (or movie data) itself. The actual settings refer to the actual values of those settings. For instance, a movie can have a preferred rate of 2, and a good movie playing application will respect that setting. But an application or the user can set the actual rate to some other value. The non-preferred settings can change dynamically, but the preferred settings will not.
Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePreviewModeAttributeThe preview mode setting; the value for this key is of type
NSNumber, interpreted as aBOOL. This value isYESif the movie is in preview mode.This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePreviewRangeAttributeThe preview range of a
QTMovieobject; the value for this key is of typeNSValue, interpreted as aQTTimeRangestructure.This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieRateAttributeThe movie rate; the value for this key is of type
NSNumber, interpreted as afloat.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieRateChangesPreservePitchAttributeWhen the playback rate is not unity, audio must be resampled in order to play at the new rate. The default resampling affects the pitch of the audio (for example, playing at 2x speed raises the pitch by an octave, 1/2x lowers an octave). If this property is set on the movie, an alternative algorithm is used, which alters the speed without changing the pitch. Since this is more computationally expensive, this property may be silently ignored on some slow CPUs.
This attribute can be read but not written; it must be among the initialization attributes to have any effect. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieSelectionAttributeThe selection range of a
QTMovieobject; the value for this key is of typeNSValue, interpreted as aQTTimeRangestructure.This attribute can be read and written. This attribute cannot be read or written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieTimeScaleAttributeThe time scale of a
QTMovieobject; the value for this key is of typeNSNumber, interpreted as along. This attribute can be read and (in OS X v10.5 and later) written; in earlier versions of OS X, this attribute is readable only. In general, you should set this attribute only on newly-created movies or on movies that have not been edited. Also, you should only increase the time scale value, and you should try to use integer multiples of the existing time scale.This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieURLAttributeThe URL of a
QTMovieobject; the value for this key is of typeNSURL.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieVolumeAttributeThe movie volume; the value for this key is of type
NSNumber, interpreted as afloat.This attribute can be read and written. This attribute can be read and written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.
Aperture Modes
When a movie is in clean, production, or encoded pixels aperture mode, each track's dimensions are overridden by special dimensions for that mode. The original track dimensions are preserved and can be restored by setting the movie into classic aperture mode. Aperture modes are not saved in movies. The associated value is of type NSString and is assumed to be one of the following strings:
NSString * const QTMovieApertureModeClassic; NSString * const QTMovieApertureModeClean; NSString * const QTMovieApertureModeProduction; NSString * const QTMovieApertureModeEncodedPixels;
Constants
QTMovieApertureModeClassicNo aspect ratio or clean aperture correction is performed. This is the default aperture mode and provides compatibility with behavior in QuickTime 7.0.x and earlier. If you call
-[QTTrack setDimensions], the movie is automatically switched to classic mode.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieApertureModeCleanAn aperture mode for general display. Where possible, video will be displayed at the correct pixel aspect ratio, trimmed to the clean aperture. A movie in clean aperture mode sets each track’s dimensions to match the size returned by
-[QTTrack apertureModeDimensionsForMode:QTMovieApertureModeClean].Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieApertureModeProductionAn aperture mode for modal use in authoring applications. Where possible, video will be displayed at the correct pixel aspect ratio, but without trimming to the clean aperture so that the edge processing region can be viewed. A movie in production aperture mode sets each track's dimensions to match the size returned by
-[QTTrack apertureModeDimensionsForMode:QTMovieApertureModeProduction].Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieApertureModeEncodedPixelsAn aperture mode for technical use. Displays all encoded pixels with no aspect ratio or clean aperture compensation. A movie in encoded pixels aperture mode sets each track's dimensions to match the size returned by
-[QTTrack apertureModeDimensionsForMode:QTMovieApertureModeEncodedPixels].Available in OS X v10.5 and later.
Declared in
QTMovie.h.
Movie Load State Values
The movie load state values. The attributeForKey:QTMovieLoadStateAttribute returns an NSNumber that wraps a long integer; the enumerated constants shown here are the possible values of that long integer.
enum {
QTMovieLoadStateError = -1L,
QTMovieLoadStateLoading = 1000,
QTMovieLoadStateLoaded = 2000,
QTMovieLoadStatePlayable = 10000,
QTMovieLoadStatePlaythroughOK = 20000,
QTMovieLoadStateComplete = 100000L
};
typedef NSInteger QTMovieLoadState;
Constants
QTMovieLoadStateErrorAn error occurred while loading the movie.
Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieLoadStateLoadingThe movie is loading.
Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieLoadStateLoadedThe movie atom has loaded; it’s safe to query movie properties.
Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieLoadStatePlayableThe movie has loaded enough media data to begin playing.
Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieLoadStatePlaythroughOKThe movie has loaded enough media data to play through to the end.
Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieLoadStateCompleteThe movie has loaded completely.
OS X v10.5 and later.
Declared in
QTMovie.h.
Dictionary Items Passed to QTMovie Notifications
The following constants specify items in dictionaries passed to QTMovie notifications and delegate methods.
NSString * const QTMovieMessageNotificationParameter; NSString * const QTMovieRateDidChangeNotificationParameter; NSString * const QTMovieStatusFlagsNotificationParameter; NSString * const QTMovieStatusCodeNotificationParameter; NSString * const QTMovieStatusStringNotificationParameter; NSString * const QTMovieTargetIDNotificationParameter; NSString * const QTMovieTargetNameNotificationParameter;
Constants
QTMovieMessageNotificationParameterUsed as a key in the userInfo dictionary passed to the
QTMovieMessageNotificationnotification to indicate the message. The associated value is anNSString.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieRateDidChangeNotificationParameterUsed as a key in the userInfo dictionary passed to the
QTMovieRateDidChangeNotificationnotification to indicate the new playback rate. The associated value is anNSNumberthat holds afloat.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieStatusFlagsNotificationParameterUsed as a key in the userInfo dictionary passed to the
QTMovieStatusStringPostedNotificationnotification to indicate status flags. The associated value is anNSNumberthat holds along.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieStatusCodeNotificationParameterUsed as a key in the userInfo dictionary passed to the
QTMovieStatusStringPostedNotificationnotification to indicate a status code (or error code). The associated value is anNSNumberthat holds anint.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieStatusStringNotificationParameterUsed as a key in the userInfo dictionary passed to the
QTMovieStatusStringPostedNotificationnotification to indicate a status string.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieTargetIDNotificationParameterUsed as a key in the dictionary passed to the
externalMovie:delegate method to indicate that the delegate should return aQTMovieobject that has the movie ID specified by the key’s value.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieTargetNameNotificationParameterUsed as a key in the dictionary passed to the
externalMovie:delegate method to indicate that the delegate should return a QTMovie object that has the movie name specified by the key’s value.Available in OS X v10.4 and later.
Declared in
QTMovie.h.
Dictionary Keys For Movie Export
The following constants are dictionary keys that you can use to specify movie attributes, using the writeToFile method.
NSString * const QTMovieExport; NSString * const QTMovieExportType; NSString * const QTMovieFlatten; NSString * const QTMovieExportSettings; NSString * const QTMovieExportManufacturer;
Constants
QTMovieExportThe movie export setting; the value for this key is of type
NSNumber, interpreted as aBOOL.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieExportTypeThe movie export type; the value for this key is of type
NSNumber, interpreted as along.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieFlattenThe movie flatten setting; the value for this key is of type
NSNumber, interpreted as aBOOL.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieExportSettingsThe movie export settings; the value of this key is of type
NSData, interpreted as aQTAtomContainer.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieExportManufacturerThe export manufacturer value; the value for this key is of type
NSNumber, interpreted as along.Available in OS X v10.4 and later.
Declared in
QTMovie.h.
Dictionary Keys For Image Codecs
The following constants are dictionary keys that you can use to specify movie attributes, using the addImage method.
NSString * const QTAddImageCodecType; NSString * const QTAddImageCodecQuality;
Constants
QTAddImageCodecTypeThe image codec string; the value for this key is of type
NSString.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTAddImageCodecQualityThe image codec value; the value for this key is of type
NSNumber.Available in OS X v10.4 and later.
Declared in
QTMovie.h.
Dictionary of Frame Image Attributes
The following is a dictionary of attributes that can contain frame image keys, using the frameImageAtTime:withAttributes:error: method.
NSString * const QTMovieFrameImageSize; NSString * const QTMovieFrameImageType; NSString * const QTMovieFrameImageTypeNSImage; NSString * const QTMovieFrameImageTypeCGImageRef; NSString * const QTMovieFrameImageTypeCIImage; NSString * const QTMovieFrameImageTypeCVPixelBufferRef; NSString * const QTMovieFrameImageTypeCVOpenGLTextureRef; NSString * const QTMovieFrameImageRepresentationsType; NSString * const QTMovieFrameImageOpenGLContext; NSString * const QTMovieFrameImagePixelFormat; NSString * const QTMovieFrameImageDeinterlaceFields; NSString * const QTMovieFrameImageHighQuality; NSString * const QTMovieFrameImageSingleField; NSString * const QTMovieFrameImageSessionMode;
Constants
QTMovieFrameImageSizeSize of the image. The value is an
NSValuecontaining anNSSizerecord. The default image size is the current movie size.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageTypeType of the image. The value is an
NSString. The default image type is NSImage.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageTypeNSImageA value for the
QTMovieFrameImageTypekey of theQTMovie frameImageAtTime:withAttributes:error:attributes dictionary. Specifies that the type of image returned should be anNSImage.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageTypeCGImageRefA value for the
QTMovieFrameImageTypekey of theQTMovie frameImageAtTime:withAttributes:error:attributes dictionary. Specifies that the type of image returned should be aCGImageRef.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageTypeCIImageA value for the
QTMovieFrameImageTypekey of theQTMovie frameImageAtTime:withAttributes:error:attributes dictionary. Specifies that the type of image returned should be aCIImage.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageTypeCVPixelBufferRefA value for the
QTMovieFrameImageTypekey of theQTMovie frameImageAtTime:withAttributes:error:attributes dictionary. Specifies that the type of image returned should be aCVPixelBufferRef.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageTypeCVOpenGLTextureRefA value for the
QTMovieFrameImageTypekey of theQTMovie frameImageAtTime:withAttributes:error:attributes dictionary. Specifies that the type of image returned should be aCVOpenGLTextureRef. Clients that specify this attribute must also specify the OpenGL context and pixel format for the texture using theQTMovieFrameImageOpenGLContextandQTMovieFrameImagePixelFormatattribute keys.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageRepresentationsTypeFor
NSImage, the image representations in the image. Value is an NSArray of NSString; strings are, for example, NSBitmapImageRep class description. The default is NSBitmapImageRep.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageOpenGLContextFor
CVOpenGLTextureRef, the OpenGL context to use. The value is anNSValue(CGLContextObj).Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImagePixelFormatFor
CVOpenGLTextureRef, the pixel format to use. Value is anNSValue(CGLPixelFormatObj).Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageDeinterlaceFieldsImage is de-interlaced. Value is an
NSNumber(BOOL) (default =YES).Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageHighQualityImage is high quality. Value is an
NSNumber(BOOL) (default =YES).Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageSingleFieldImage is single field. Value is an
NSNumber(BOOL) (default =YES). The returned object is an autorelease object.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieFrameImageSessionModeIndicates that two or more calls to
frameImageAtTime:withAttributes:error:will be made on the sameQTMovieobject.By adding this key with the associated value that is an
NSNumberwrapping theBOOLYESto the dictionary of attributes, an application indicates that it will make more than one call toframeImageAtTime:withAttributes:error:on the sameQTMovieobject. This knowledge permitsQTMovieto cache certain objects and data structures used to generate a frame image, thereby improving performance. When the caller has obtained all the frame images desired from a givenQTMovieobject, the caller should follow those session calls with a call where this value isNO; this is a signal toQTMovieto dispose of that cached data.Declared in
QTMovie.h.OS X v10.6; QuickTime 7.6.3 and later.
Data Locator Attributes
The following constants are data locators that you can use to specify movie attributes, using the movieWithAttributes and initWithAttributes methods.
NSString * const QTMovieDataReferenceAttribute; NSString * const QTMoviePasteboardAttribute; NSString * const QTMovieDataAttribute;
Constants
QTMovieDataReferenceAttributeThe data reference of a
QTMovieobject;the value for this key is of typeQTDataReference.This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with
QTMovieOpenForPlaybackAttributeset toYES.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMoviePasteboardAttributeThe pasteboard setting of a
QTMovieobject.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieDataAttributeThe data of a
QTMovieobject.Available in OS X v10.4 and later.
Declared in
QTMovie.h.
Movie Instantiation Options
The following constants are movie instantiation options that you can use to specify movie attributes, using the movieWithAttributes and initWithAttributes methods.
NSString * const QTMovieFileOffsetAttribute; NSString * const QTMovieResolveDataRefsAttribute; NSString * const QTMovieAskUnresolvedDataRefsAttribute; NSString * const QTMovieOpenAsyncOKAttribute; NSString * const QTMovieOpenAsyncRequiredAttribute; NSString * const QTMovieOpenForPlaybackAttribute;
Constants
QTMovieFileOffsetAttributeThe file offset value; the value for this key is of type
NSNumber, interpreted as along long.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieResolveDataRefsAttributeIndicates whether external data references in a movie file should be resolved (
NSNumberYES) or not resolved (NSNumberNO).A movie file can contain references to media data in other locations. By default,
QTMovieattempts to resolve these references at the time that the movie file is opened and aQTMovieobject is instantiated. You can prevent that resolution from occurring by passing anNSNumberwrapping the valueNOas the value of this attribute.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieAskUnresolvedDataRefsAttributeIndicates whether the user should be prompted to help find any unresolved data references (
NSNumberYES) or not (NSNumberNO).When the value of the
QTMovieResolveDataRefsAttributeattribute is anNSNumberwrapping the valueYESand a movie file contains unresolved data references, this attribute indicates whether the user should be prompted to help find the missing referenced data (NSNumberYES) or not (NSNumberNO). Typically,QTMoviewill display a dialog box that allows the user to navigate to the file or URL containing the referenced data. By setting this attribute toNO, you can prevent that dialog box from being displayed and thereby speed up the movie opening and initialization process.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieOpenAsyncOKAttributeIndicates whether a movie file can be opened asynchronously if possible (
NSNumberYES) or not (NSNumberNO).Opening a movie file and initializing a
QTMovieobject for that file may require a considerable amount of time, perhaps to convert the data in the file from one format to another. By setting this attribute to anNSNumberwrapping the valueYES, you grantQTMoviepermission to return a non-nilQTMovieidentifier to your application immediately and then to continue processing the file data internally. If a movie is opened asynchronously, you must monitor the movie load state and ensure that it has reached the appropriate threshold before attempting to perform certain operations on the movie. For instance, you cannot export or copy a QTMovieobjectuntil its load state has reachedQTMovieLoadStateComplete.Available in OS X v10.4 and later.
Declared in
QTMovie.h.QTMovieOpenAsyncRequiredAttributeIndicates whether the
QTMoviemust be opened asynchronously (NSNumberYES) or not (NSNumberNO).Set this attribute to an
NSNumberwrappingYESto indicate that all operations necessary to open the movie file (or other container) and create a validQTMovieobject must occur asynchronously. That is to say, the methods+movieWithAttributes:error:and-initWithAttributes:error:must return almost immediately, performing any lengthy operations on another thread. Your application can monitor the movie load state to determine the progress of those operations.If you require asynchronous opening but QTMovie is unable to honor your request, then the methods
+movieWithAttributes:error:and-initWithAttributes:error:returnnilwith an NSError having the error domain QTKitErrorDomain and code QTErrorMovieOpeningCannotBeAsynchronous.Declared in
QTMovie.h.OS X v10.6 and later; QuickTime 7.6.3 and later.
QTMovieOpenForPlaybackAttributeIndicates whether the
QTMoviewill be used only for playback (NSNumberYES) or not (NSNumberNO).Set this attribute to an
NSNumberwrappingYESto indicate that you intend to use movie playback methods (such as-playor-stop, or corresponding movie view methods such as-play:or-pause:) to control the movie, but do not intend to use other methods that edit, export, or in any way modify the movie. Knowing that you need playback services only may allowQTMovieto use more efficient code paths for some media files.This attribute is meaningful only when added to the dictionary passed to
-initWithAttributes:error:. In particular, setting this attribute on aQTMovieobject that is already open has no effect.Declared in
QTMovie.h.OS X v10.6 and later; QuickTime 7.6.3 and later.
Movie Chapter Information
These constants allow applications to get information about a movie and its chapters, and to navigate within a movie by chapters. Since chapters are a reasonably common feature of movies and podcasts, QTKit enables developers to create them.
NSString * const QTMovieChapterName; NSString * const QTMovieChapterStartTime; NSString * const QTMovieChapterTargetTrackAttribute;
Constants
QTMovieChapterNameA key indicating the chapter name in the dictionaries that are array elements in the array returned by
QTMoviechaptersor passed toQTMovieaddChapters:withAttributes:error.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieChapterStartTimeA key indicating the chapter start time in the dictionaries that are array elements in the array returned by
QTMoviechaptersor passed toQTMovieaddChapters:withAttributes:error.Available in OS X v10.5 and later.
Declared in
QTMovie.h.QTMovieChapterTargetTrackAttributeA key indicating the track in the
QTMovie objectthat is the target of the chapter track.Available in OS X v10.5 and later.
Declared in
QTMovie.h.
Pasteboard Support
The following constant is the type of movie data passed on the pasteboard.
NSString * const QTMoviePasteboardType;
Constants
QTMoviePasteboardTypeSpecifies the type of movie data passed on the pasteboard.
Available in OS X v10.4 and later.
Declared in
QTMovie.h.
Exceptions
The following exception is raised when calling a method requiring editing or modification of a movie that is uneditable.
NSString * const QTMovieUneditableException;
Constants
Notifications
QTMovieApertureModeDidChangeNotification
QTMovie object changes.Availability
- Available in OS X v10.5 and later.
Declared In
QTMovie.hQTMovieChapterDidChangeNotification
QTMovie changes.This notification contains no information in the userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieChapterListDidChangeNotification
QTMovie changes.This notification contains no information in the userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieCloseWindowRequestNotification
This notification contains no information in the userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieDidEndNotification
This notification contains no userInfo parameters. It is equivalent to the standard player controller’s mcActionMovieFinished action.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieEditabilityDidChangeNotification
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieEditedNotification
This notification contains no userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieEnterFullScreenRequestNotification
This notification contains no information in the userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieExitFullScreenRequestNotification
This notification contains no information in the userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieLoadStateDidChangeNotification
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieLoopModeDidChangeNotification
This notification contains no information in the userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieMessageStringPostedNotification
Movie messages can be sent to an application by wired actions (for instance, a wired sprite) or by code that issues the mcActionShowMessageString movie controller action. The userInfo dictionary contains a single entry whose value is of type NSString, which is the movie message.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieRateDidChangeNotification
The userInfo dictionary contains a single entry whose value is of type NSNumber that represents a float, which is the new rate.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieSelectionDidChangeNotification
This notification contains no userInfo dictionary.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieNaturalSizeDidChangeNotification
All clients that display movies using dimensions based on the QTMovieNaturalSizeAttribute should respond to this notification to update their display as necessary.
Availability
- QuickTime 7.6.3 and later.
Declared In
QTMovie.hQTMovieSizeDidChangeNotification
This notification contains no userInfo dictionary.
Availability
- QuickTime 7.0 and later, but deprecated in QuickTime 7.6.3 and later.
Declared In
QTMovie.hQTMovieStatusStringPostedNotification
The userInfo dictionary contains a single entry whose value is of type NSString, which is the status message.
The following are keys (notification parameters) for userInfo items for the QTMovieStatusStringPostedNotification notification QTMovieStatusCodeNotificationParameter and QTMovieStatusStringNotificationParameter.
A status string notification can indicate an error (in which case QTMovieStatusCodeNotificationParameter will have a value), or it can contain a string (in which case QTMovieStatusStringNotificationParameter will have a value). For more information, see mcActionShowStatusString.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieTimeDidChangeNotification
The QTMovieTimeDidChangeNotification is fired whenever the movie time changes to a time other than what it would be during normal playback. So, for example, this notification is not fired every frame.
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.hQTMovieVolumeDidChangeNotification
Availability
- Available in OS X v10.4 and later.
Declared In
QTMovie.h© 2010 Apple Inc. All Rights Reserved. (Last updated: 2010-02-24)