Copyright (C) 2000-2012 |
GNU Info (openal.info)Basic Conceptsal calls, either implicitly or explicitly, act upon opaque objects of the kind `Buffers', `Sources', `Contexts', or `Listeners'. Of these types, the generation and deletion of `Buffers', `Sources', and `Contexts' are explicit and must be handled by the application. To give a brief overview: `Buffers' `Buffers' contain PCM audio data, and the parameters associated with the data (length, frequency, sample width etc). `Buffers' cannot be played, a `Source' must be associated with them, and the `Source' is then played. `Buffers' are created with a call to `alGenBuffers', which creates a set of buffer ids and binds them to buffers. The buffer id is the only mechanism by which an application may refer to a buffer. After its useful lifetime is over, buffer ids should be deleted via the call `alDeleteBuffers'. `Sources' `Sources' are independent objects, which, when played, make sound. `Sources' need to be associated with a `Buffer' before they can be played. `Sources' are created with a call to `alGenSources', which creates a set of source ids and binds them to sources. The source id is the only mechanism by which an application may refer to a source. After its useful lifetime is over, source ids should be deleted via the call `alDeleteSources'. `Devices' A `Device' is a binding to the audio rendered backend used by the library. This may be an actual hardware device, a software mixing server, or other abstraction. At least one device must be created for the generation of contexts. `Contexts' A `Context' abstracts the audio device from the rest of the library (and the application). You generally only need one. Calling most al functions before creating a context via `alcCreateContext' will result in either an error or a segfault. When you're about to quit, call `alcDestroyContext' to destroy the context and don't make any other al calls. automatically generated by info2www version 1.2.2.9 |