yg.audio
Functions for audio playback.
Example
function init()
-- Initialize the audio module with:
-- 5 sources
-- Default number of channels
-- Default sample rate
yg.audio.init(5, 0, 0)
-- Store a file to play it back
yg.audio.storeFile("a//noise.ogg")
-- Play the file looped endless and get the source id
noiseSource = yg.audio.play("a//noise.ogg", true)
end
function tick()
-- Manipulate the channel gains to simulate a moving object
-- (assuming 2 channels)
gains = {1.0, 0.3}
yg.audio.setChannelGains(noiseSource, gains)
end
function yg.audio.init()
Enables the audio module.
yg.audio.init(numSources, numChannels, sampleRate)
->number
(0 if successful)
Argument | Type | Info |
---|---|---|
numSources |
number | Maximum number of audio sources to be mixed during playback [integer ] |
numChannels |
number | Number of audio playback channels [integer ]. set 0 for device default. |
sampleRate |
number | Sample rate. Set 0 for device default. |
function yg.audio.shutdown()
Shuts down the audio module.
yg.audio.shutdown()
->void
function yg.audio.isInitialized()
Returns true
if the audio module is initialized, false
otherwise.
yg.audio.isInitialized()
->boolean
function yg.audio.storeFile()
Loads a sound file (.ogg) and stores it for being played back.
yg.audio.storeFile(filename)
->number
(0 if successful)
Argument | Type | Info |
---|---|---|
filename |
string | Name of the ogg file to load |
function yg.audio.play()
Starts the playback of a previously stored audio file, if a free source slot is available. In this case, the index of the source is returned [0,numSources-1]
. On error, a negative value is returned. The source index can be used to manipulate the playback once it has started (see yg.audio.stop(), yg.audio.pause(), etc.).
yg.audio.play(filename, loop)
->number
(Audio source index, or < 0 on error)
Argument | Type | Info |
---|---|---|
filename |
string | Name of the ogg file to play |
loop |
boolean | If true , playback loops endless. Plays once otherwise. |
function yg.audio.stop()
Stops the playback of a source and clears the slot.
yg.audio.stop(sourceId)
->number
(0 if successful)
Argument | Type | Info |
---|---|---|
sourceId |
number | Index of the source, retrieved from yg.audio.play() |
function yg.audio.pause()
Pauses the playback of a source.
yg.audio.pause(sourceId, pause)
->number
(0 if successful)
Argument | Type | Info |
---|---|---|
sourceId |
number | Index of the source, retrieved from yg.audio.play() |
pause |
boolean | If true , playback is paused. Options: true , false |
function yg.audio.setChannelGains()
Sets the channel gains of a source: array of numbers, typically in [0,1]
to reduce gain on individual channels. The audio signal of each channel gets multiplied by the appropriate gain value.
yg.audio.setChannelGains(sourceId, gains)
->number
(0 if successful)
Argument | Type | Info |
---|---|---|
sourceId |
number | Index of the source, retrieved from yg.audio.play() |
gains |
{number} | Gain values in [0,1] for each channel (array of number) |