Introduction

Technology Overview

QuickTime provides a rich API that helps your applications display, import, export, modify, and capture many kinds of media, including audio, video, still images, text, Flash, MIDI, sprites, VR panoramas, and more. It works with local disk-based media, media accessed over a network, or streams of real-time data.

Using the QuickTime API, you can write programs that run on both Mac OS and Windows.

Similarly, media packaged as QuickTime movies play equally well on Mac OS and Windows, provided QuickTime is installed on the playback machine. A QuickTime movie can store any of the media types that QuickTime can play, including MP3 audio, JPEG images, MPEG-4 video, text, or any combination of such media.

Your application can use QuickTime to:

You can extend QuickTime's capabilities by writing new QuickTime components, often without rewriting any application code. For example, you can add support for a new media type, compression algorithm, or video digitizer card, simply by writing QuickTime components. In many cases, added components become available to existing applications transparently.

Start Here

Before you begin working with the QuickTime API, you should download a software development kit for your platform. An SDK includes the necessary header files and libraries for you to create code that makes calls to QuickTime on your platform. There are QuickTime SDKs for Mac OS X, Windows, Java, and Java for Windows.

You should start your reading with the QuickTime Overview; it’s okay to skim at this point. You might also want to read the “Overview” and “Movies” sections of An Introduction to QuickTime.

Windows programmers should then read the “Cross-Platform Development” section of An Introduction to QuickTime and may want to skim through QuickTime for Windows Programmers as well.

Choose a Learning Path

When you're ready to start delving into the API documentation, where you start depends on your choice of programming framework. You can then explore the parts of the QuickTime API designed to help with what you want to do, such as play movies or edit them, capture audio and video, or import and export media.

Learning About the QuickTime API

Most of the QuickTime API, and most of the documentation and sample code, are intended for procedural C or C++ programmers (Windows or Carbon frameworks).

If you are programming in Java or Objective-C, you have direct access to high-level QuickTime capabilities, but you may need to make calls to the C/C++ API for access to lower-level functions. You may also need to read some C/C++ documentation and sample code.

Playing Movies, Including Audio and Still Images

To write a simple movie player application, read QuickTime Movie Playback Programming Guide then Movie Controller Components.

Windows programmers should also read QuickTime and File System Pathnames.

You can find sample code in QuickTime Movie Basics and in Play Movie with Controller.

Editing Movies

To write a simple movie editor application, read the following documents from the QuickTime Movie Basics documentation:

You can find sample code in QuickTime Movie Basics.

Creating Movies

You can create movies by capturing audio and video from an external source, or by synthesizing sample data programmatically.

See also the sample code CreateMovie and qtcapture.

Learning More About the QuickTime API

Additional features of the QuickTime API that you may want to learn more about are:

Next Steps

A good source for recent articles, relevant SDKs, mailing lists, links, and documentation is the ADC QuickTime topic page.

The QuickTime Reference Library contains indispensable resources for developing QuickTime applications and components, and can be bookmarked for easy access.

These additional Apple resource pages may be helpful: