Some of you might remember Fanother's game project from CC 2011. It was heavily based on surround sound. The extension he used for that was written by me and was based on the FMOD library.
However there's one big problem with the library: Its license. If you want to release a commercial title you have to pay a fortune. That's why we switched to OpenAL, to be specific, OpenAL-Soft, which is LPGL and therefore you can sell commercial titles for free. However this extension is also somewhat easier to use because you can simply place sound sources in a 3D world and the extension does all the surround calculation.
The extension is of course dedicated to surround sound because of Fanotherpg's game, but also supports some other cool features such as real-time effects and filters and microphone input playback.
The two most important keywords in the extension are inputs and sources.
An input basically does what it says. It can either hold a file, or the microphone input, or a dynamically generated audio signal.
Files can be loaded as either samples or streams. WAV and OGG are supported.
These inputs can be assigned to a so-called source.
A source is basically like a channel, but also a sound at the same time. They can be named, so you can select and modify them later, but don't have to. A source needs an input to function. Once you create a source, it is selected and you can play or modify it however you want. The basic way to play a sound in OpenAL is:
Create source with input "LoadedFile"
That's it! By default, a source is deleted once it finished playback, but that can be changed with the 'permanent' setting.
For surround, you will also need the "Listener" which is basically the player. He can move around in the 3D environment - just like sources can have their own position, but dont need one if you dont plan to use surround.
I hope that clears it up somewhat.
There are no examples right now but I hope some of you can figure it out somewhat already. Some examples should come up soon (it's late and I'm tired :sleep