Technical: QuickTime: Java
Advanced Search
Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

QuickTime for Java - Getting Started

Package structure of the QuickTime for Java API

The QuickTime for Java API has been divided into a number of packages determined by a common functionality. There are a number of packages that represent a broad range of functionality, which then have sub-packages that group smaller sets of functionality together.

The major packages generally have a Constants interface that presents all of the constants that relate to this general grouping and an Exception class that all errors that derive from a call in this package group will throw.

The QuickTime for Java Packages



(1) The quicktime package.
The QTSession object has calls that setup and intialize the QuickTime engine - InitializeQTML, Gestalt and EnterMovies.
Principal Classes: QTSession, QTException

Back to top



(2) The quicktime.io package.
Contains calls that deal with File I/O. These calls are derived from the Movies.h file.
Principal Classes: OpenFile, QTFile, OpenMovieFile, QTIOException

Back to top



(3) The quicktime.qd package.
Contains classes that represent the QuickDraw data structures that are required for the rest of the QuickTime API. These calls are derived from the QuickDraw.h and QDOffscreen.h files. You do not use QuickDraw to do any drawing in Java, instead you would use the drawing services that Java provides. However, the QuickTime API expects data structures that belong to QuickDraw, such as CGrafPort, GWorld, Rect, Point. In the Java API these classes become predominantly read-only.
Principal Classes: QDGraphics, PixMap, Region, QDRect, QDColor, QDConstants, QDException

Back to top



(4) The quicktime.qd3d package.
Contains classes that represent the QuickDraw 3D data structures that are required for the rest of the QuickTime API, predominantely the Tweener and ThreeD Media services.
Principal Classes: CameraData, Q3Point, Q3Vector.

Back to top



(5) The quicktime.sound package.
Contains classes that represent the Sound Manager API. These calls are derived from the Sound.h file. While some basic sound recording services are provided, for more demanding sound input and output the Sequence Grabber components and Movie playback services should be used.
Principal Classes: SndChannel, Sound, SPBDevice, SoundConstants, SoundException

Back to top



(6) The quicktime.std package.
The original QuickTime interfaces on Mac OS are contained in a collection of eight header files which describe the standard QuickTime API. As such, nearly all of the functions defined in these files are to be found in classes in the quicktime.std group of packages.
Principal Classes: StdQTConstants, StdQTException

  • The standard header files are:
    Components.h
    All calls from this file are in the quicktime.std.comp package.
     
    ImageCompression.h & ImageCodec.h
    All calls from this file are in the quicktime.std.image package.
     
    MediaHandlers.h
    All calls from this file are in the quicktime.std.movies.media package.
     
    Movies.h
    This file has been separated into a number of packages to present a finer degree of definition and functional grouping.

     

    QuickTimeComponents.h
    This file has been separated into a number of packages to present a finer degree of definition and functional grouping.

     

    QuickTimeMusic.h
    All calls from this file are in the quicktime.std.music package.

    Back to top



  • The quicktime.std.anim package.
    Classes that provide support for animation. QuickTime can be used as a real time rendering system for animation, distinct from a data format - the movie. Thus you can create a graphics space (SpriteWorld) within which characters (Sprites) can be manipulated.
    Principal Classes: Sprite, SpriteWorld

    Back to top



  • The quicktime.std.clocks package.
    This package contains classes that provide timing services. They include support for the creation of hierarchical dependencies between time bases, the usage of callbacks for user scheduling of events or notification, and the capability of instantiating the system clocks that provide the timing services.
    Principal Classes: Clock, TimeBase, QTCallback subclasses.

    Back to top



  • The quicktime.std.comp package.
    QuickTime is a component based architecture, with much of its funtionality being provided through the creation and implementation of a particular component's API. This package contains classes that provide basic support for this component architecture, a full implementation will be forthcoming.
    Principal Classes: Component, ComponentIdentifier.

    Back to top



  • The quicktime.std.image package.
    Classes that present the Image Compression manager. These classes provide control for the compression and decompression of both single images and sequences of images. It also contains the Matrix class, which (like the Region class in the qd package) is used generally throughout QuickTime to alter and control the rendering of 2D images.
    Principal Classes: CodecComponent, QTImage, CDSequence, Matrix.

    Back to top



  • The quicktime.std.movies package.
    Contains the principal data structures of QuickTime, Movie - which contains one or more Tracks, are the primary way that data is organized and managed in QuickTime. A Movie object can be created from a file, and can be saved to a file. The MovieController provides the standard way that QuickTime data (movies) are presented and controlled. AtomContainer is the standard data structure that is used to store and retrieve data in QuickTime.
    Principal Classes: AtomContainer, Movie, MovieController, Track.

    Back to top



    • The quicktime.std.movies.media package.
      The Track is a media neutral structure, but it contains a single Media type which defines the kind of data that a Track is representing. The Media, MediaHandler and SampleDescription subclasses describe the various media types that QuickTime can present. Media subclasses control references to data that comprise the raw media data.
      Principal Classes: DataRef, Media subclasses, MediaHandler subclasses, SampleDescription and subclasses.

      Back to top



  • The quicktime.std.music package.
    Contains classes that deal with the general Music architecture provided by QuickTime. This architecture can also be used to capture and generate music (MIDI) events in real time, customize and create instruments and eventually provide your own algorithmic synthesis engines. It currently has a full implementation of the NoteAllocator component, and basic support for the MusicComponent and TunePlayer components.
    Principal Classes: AtomicInstrument, NoteChannel, NoteAllocator.

    Back to top



  • The quicktime.std.qtcomponents package.
    Contains classes that interface with some of the components that are provided to supply different services. The import and export components are supported, tween and time code media components.
    Principal Classes: MovieExporter, MovieImporter, Tweener, TimeCoder.

    Back to top



  • The quicktime.std.sg package.
    Contains classes that implement the Sequence Grabber component for capturing video and audio media data.
    Principal Classes: SequenceGrabber

Back to top



(7) The quicktime.util package.
Contains classes that represent utility functionality required by the general QuickTime API. The most common feature of this package are a set of classes for MemoryManagement from Memory.h. These classes typically form the base class for actual QuickTime objects.
Principal Classes: QTHandle, QTByteObject, QTPointer, UtilException.

Back to top



(8) The quicktime.vr package.
Contains classes that represent the QuickTime Virtual Reality API. The package contains all the QuickTime VR interface constants and the QTVRInstance class, which is used for making QTVR calls. There are a number of classes for customising the presentation QTVR movies.
Principal Classes: QTVRConstants, QTVRInstance, QTVRException.

Back to top