We use the OpenAL cross-platform audio library throughout this chapter. In order to make all the examples simple and self-contained, we start with the minimalistic example which can play a sound from an uncompressed .wav
file.
Let's briefly describe what we need to do in order to produce sound. The routines of OpenAL manipulate objects encountered in the playback and recording processes. The ALCdevice
object represents a unit of audio hardware. Since multiple threads may produce sound at the same time, another object called ALCcontext
is introduced. First, an application opens a device and then a context is created and attached to the opened device. Each context maintains a number of Audio Source
objects, because even a single application might need to play multiple sounds simultaneously.
We are getting close to actual sound production. One more object is required as a waveform container, which is called a buffer. An audio recording can be quite lengthy, so we don...