Sampled Audio


The Java Sound API

So far, I've considered the Applet play( ) method and the more useful AudioClip class. AudioClip is probably sufficient for the straightforward playing and looping of audio, as illustrated by the SoundPlayer application of the last section.

The Java Sound API has more extensive playback capabilities than AudioClip because it offers low-level access to, and manipulation of, audio data and the underlying machine's audio hardware and software. The API also supports audio capture and synthesis, features not found in AudioClip.

The Sound API's power makes it complex to use, so the rest of this chapter will be given over to introducing its basic playback features for sampled audio (e.g., WAV files) and MIDI sequences. Chapter 8 will develop Sound API-based classes for loading and playing audio, which I'll use frequently in later chapters to play music and sound clips in my games. Chapter 9 is about applying audio effects to existing sampled audio and sequences using the Sound API. Chapter 10 describes various ways of synthesizing samples and sequences with the API.

The Java Sound API has two main parts: a javax.sound.sampled package for manipulating sampled audio and javax.sound.midi for MIDI sequences. The rest of this chapter will first discuss sampled audio, followed by MIDI.

The API has two service provider packages, javax.sound.sampled.spi and javax.sound.midi.spi, to encourage extensibility. They can be utilized to add new audio devices (e.g., new mixers, synthesizers) and formats (e.g., MP3). I won't be looking at themthis book is long enough without going off on tangents.



Killer Game Programming in Java
Killer Game Programming in Java
ISBN: 0596007302
EAN: 2147483647
Year: 2006
Pages: 340

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net