Difference between revisions of "Tutorial:Audio"
(Add i18n tag) |
m (Added a link to TEsound, and translated "Other Languages" back to English) |
||
Line 39: | Line 39: | ||
Further details can be found in the [[Source|Source documentation]]. | Further details can be found in the [[Source|Source documentation]]. | ||
+ | |||
+ | == See Also == | ||
+ | * [[TEsound]] - A sound manager which makes it easier to use sound effects and music | ||
+ | |||
+ | == Other Languages == | ||
+ | {{i18n|Tutorial:Audio}} | ||
[[Category:Tutorials]] | [[Category:Tutorials]] | ||
Line 44: | Line 50: | ||
{{#set:LOVE Version=0.6.1}} | {{#set:LOVE Version=0.6.1}} | ||
{{#set:Description=A tutorial for learning to use [[love.audio]].}} | {{#set:Description=A tutorial for learning to use [[love.audio]].}} | ||
− | |||
− | |||
− | |||
− |
Revision as of 23:29, 3 March 2011
In LÖVE, audio is the domain of the love.audio module, which uses OpenAL for playback. love.audio has only one type of audio object - a Source. You can load audio and play it like so:
sound = love.audio.newSource("pling.wav", "static") -- the "static" tells LÖVE to load the file into memory, good for short sound effects
music = love.audio.newSource("techno.ogg") -- if "static" is omitted, LÖVE will stream the file from disk, good for longer music tracks
love.audio.play(sound)
love.audio.play(music)
Formats
LÖVE supports a lot of audio formats, thanks to the love.sound module, which handles all the decoding. Supported formats include:
- MP3
- OGG
- WAV
- and just about every tracker format you can think of - XM, MIDI, MOD, and over twenty others.
Static vs. Streaming
Keep in mind that, if you pass love.audio.newSource
"static" as a second argument, the sound file will be expanded into memory, so if you load a 5MB compressed .ogg file that way, it would consume ~50MB RAM when fully decompressed. Consider not using "static" in such cases.
If you omit the "static", the audio will be streamed from the file as it's played, something that saves a lot of memory when you're dealing with massive files.
Audio control
To pause, stop, change volume, looping, pitch, etc., simply call the relevant method of a Source.
src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")
src1:setVolume(0.9) -- 90% of ordinary volume
src1:setPitch(0.5) -- one octave lower
src2:setVolume(0.7)
love.audio.play(src1)
love.audio.play(src2)
Further details can be found in the Source documentation.
See Also
- TEsound - A sound manager which makes it easier to use sound effects and music
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info