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

QuickTime for Java Overview

What is QuickTime?

QuickTime is Apple's multi-platform, industry-standard, multimedia software architecture. It is used by software developers, hardware manufacturers, and content creators to author and publish synchronized graphics, sound, video, text, music, VR, and 3D media. Visit the QuickTime web site for more information about this award-winning product from Apple.

What is Java?

Java, developed by Sun Microsystems Inc., is an easy-to-use, object-oriented language that includes a set of libraries that facilitate cross-platform development. For more information on Java, visit Sun's Java web site. For information about Java on the Macintosh, visit the Java developer web site.

What is QuickTime for Java?

QuickTime for Java brings together the power of QuickTime and Java, allowing developers to create Java software that takes advantage of the power of QuickTime on both Macintosh and Windows. As a result, it is possible for a Java application to take advantage of the rich media capabilities QuickTime provides, including the ability to play QuickTime movies, edit and create movies, capture audio and video, and perform sophisticated 2D and 3D animations.

QuickTime for Java consists of two layers:

  • A core layer which provides the ability to access the complete QuickTime Application Programming Interface (API)
  • An application framework layer which makes it easy for Java applications to integrate QuickTime capabilities. This layer includes:
    • 1. Integration of QuickTime with the Java Runtime. This includes sharing display space between Java and QuickTime and sharing events from Java with QuickTime.
    • 2. A set of classes that simplifies the effort required to perform common tasks while providing an extensible framework that application developers can customize to meet their specific requirements.

The QuickTime API, implemented in Java as a set of classes, are grouped into a set of packages, on the basis of common functionality and usage, and their organization in the standard QuickTime header files.

The QuickTime for Java API provides both an object model for the QuickTime API and a logical translation or binding of QuickTime's native calls into Java method calls. It is garbage collected and contains no direct access to pointers or other features that are common in a C-based API. The Java method calls provide very little overhead to the native call; they do parameter marshalling and check the result of the native call for any error conditions. If an error is returned by the native call, then an exception will be thrown.