Next Page > Hide TOC

Introduction to Audio Device Driver Programming Guide

Contents:

Who Should Read This Document?
Organization of This Document
See Also


Note: This document was previously called Writing Audio Device Drivers.

This book describes the architecture, services, and mechanisms of the I/O Kit’s Audio family, and explains how you use the APIs of the family to write an audio device driver for Mac OS X. It does not cover any aspect of user-space audio programming (MIDI, synthesizers, CD players, and so on) except to discuss the overall composition of the Mac OS X audio system, which includes Core Audio and other audio frameworks.

To gain the most value from reading this book, it helps to be familiar with the I/O Kit and object-oriented programming, preferably C++ programming. The book I/O Kit Fundamentals provides a thorough introduction to the I/O Kit; see “Additional Information on the I/O Kit” for details on this and other I/O Kit documentation.

Who Should Read This Document?

As with any kernel-level device driver, you should only write a driver if there is no other way to achieve your goals. Many audio devices are supported natively in Mac OS X. If your device complies with USB or FireWire audio standards, you should not need to write a custom driver unless you need to implement features beyond those supported in the relevant audio standards.

In some cases, even if you need to do special device-specific processing, you may be able to do so without writing an entire driver. For example, some USB audio hardware (for USB speakers, for example) may require additional software filtering, such as equalization. Mac OS X provides a mechanism in the kernel for doing this through the AppleUSBAudio plug-in model. For more information, see the SampleUSBAudioPlugin example code.

Organization of This Document

This document describes all aspects of creating an audio device driver using the I/O Kit’s Audio family. It includes conceptual and procedural information and consists of the following chapters:

For details of specific methods, structures, and other API elements, consult the reference documentation for the Audio family. See “Additional Information on the I/O Kit” for instructions on accessing this documentation.

See Also

Apple offers several other resources to developers of audio software for Mac OS X, including:

Additional Information on the I/O Kit

For additional information on the I/O Kit in general, see the following documents:

Of course, you can always browse the header files shipped with the I/O Kit, which are installed in Kernel.framework/Headers/iokit (kernel-resident) and IOKit.framework/Headers (user-space).

The documentation is in HTML or PDF format. You can access the HTML documentation (and download the PDF) from the Xcode Help menu. To view, click Help > Show Documentation Window. You can then search for specific API or view the entire developer documentation library. You can also access developer documentation on the Apple Developer Connection website at http://developer.apple.com/documentation/index.html.

Other Information on the Web

Apple maintains websites where developers can go for general and technical information on Mac OS X.



Next Page > Hide TOC


© 2001, 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-03-04)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.