Openal -open Audio Library- 2.0.7.0 Site

Example (conceptual C flow):

device = alcOpenDevice(NULL);
context = alcCreateContext(device, NULL);
alcMakeContextCurrent(context);
alGenBuffers(1, &buf);
alBufferData(buf, AL_FORMAT_STEREO16, data, size, freq);
alGenSources(1, &src);
alSourcei(src, AL_BUFFER, buf);
alSource3f(src, AL_POSITION, x, y, z);
alSourcePlay(src);
/* ... */
alDeleteSources(1, &src);
alDeleteBuffers(1, &buf);
alcDestroyContext(context);
alcCloseDevice(device);

Link against OpenAL32.lib and ensure OpenAL32.dll is in your path. openal -open audio library- 2.0.7.0

Note: OpenAL 2.0.7.0 uses the same 1.1 API, so this code works with it directly.
If you need multiple sounds, looping, 3D positioning, or streaming, extend from this base. Link against OpenAL32

OpenAL was originally developed by Loki Software in the early 2000s to help port Windows games to Linux. The API was modeled after OpenGL, which made it intuitive for graphics programmers to learn. Over the years, the specification passed through several hands (Creative Technology, free-audio-lib) until settling into the open-source community. Note: OpenAL 2

Version 2.0.7.0 was released as part of the openal-soft project—the most robust, open-source implementation of OpenAL. Unlike earlier Creative Labs versions that were proprietary and buggy on modern OSes, OpenAL Soft 2.0.7.0 is:

The ".0" in 2.0.7.0 indicates it follows semantic versioning: major.minor.patch.build. Build 0 of patch 7 is widely deployed because it fixed critical channel ordering issues for surround sound.