The sound support is implemented using SDL_mixer.
Note: If you load a sound and play it multiple times in parallel all sound manipulating methods will affect every instance of this sound!
Loading
- game.addSound(filename)
- Loads a sound file with the given filename. This can load WAV, AIFF, RIFF, OGG and VOC formats. Returns a sound object.
Methods
- sound:setVolume(volume)
- Sets the volume of the sound to the specified value between 0 (mute) and 128 (maximum volume).
- sound:getVolume()
- Returns the current volume of the sound. This value is between 0 (mute) and 128 (maximum volume).
- sound:play([loops=1])
- Plays a sound file loaded with game.addSound(). The optional parameter loops defines the number of times the sound will be played. 0 means infinite looping. The default is to play the sound once.
- sound:pause()
- Pauses the playback of the sound. A paused sound may be stopped with sound:stop(). If the sound is not playing, this method will do nothing.
- sound:resume()
- Unpauses the sound. This is safe to use on stopped, paused and playing sounds.
- sound:stop()
- Stops the playback of the sound.
- sound:isPlaying()
- Tells you if the sound is actively playing, or not.
Note: Does not check if the sound has been paused, i.e. paused sounds return true. Only stopped sounds return false. - sound:isPaused()
- Tells you if the sound is paused, or not.
Note: This state is only influenced by calls to sound:pause() and sound:resume().
Example
game.init("Sound Test", 600, 400, 32, false) -- load a sound file sound = game.addSound(<sound file>) main = { -- empty render function render = function(dt) end, -- play the sound every time a mouse button is pressed mousepressed = function(x, y, button) sound:play() end }