Initializing the audio subsystem
Before using your audio card, you'll need to initialize the sound playback parameters. These parameters are:
Sampling frequency
Output audio format
Number of audio channels and buffer size
It's important to note that LuaSDL can play many sound samples at the same time, where each sound sample uses exactly one sound channel. This is often used for relatively short sounds. Longer sounds such as a game music can be played in the background. However, there's only one background channel, so there is no easy way to mix two songs together.
Getting ready
First, you'll need to initialize the LuaSDL library with its subsystems. It's common practice to just initialize all subsystems at the start.
You can achieve this with two lines of Lua code:
require 'LuaSDL' assert(SDL.SDL_Init(SDL.SDL_INIT_EVERYTHING) >= 0)
This will prepare all subsystems to be fully operational.
How to do it…
To initialize the audio subsystem, follow these steps:
Normally, you would use the
SDL.SDL_OpenAudio...