Tutorial:Audio (Español)
En LÖVE, el audio es del dominio del módulo love.audio, que usa OpenAL para la reproducción. love.audio tiene solo un tipo de objeto de audio: el Source. Puedes cargar audio y reproducirlo así:
sound = love.audio.newSource("pling.wav", "static") -- ese "static" le dice a LÖVE que cargue el archivo en memoria, excelente para efectos de sonido (corto)
music = love.audio.newSource("techno.ogg", "stream") -- ese "stream" le dice a LÖVE que reproduzca el archivo desde el dico, excelente para la música (larga)
sound:play()
music:play()
Contents
Formatos
LÖVE soporta muchos formatos de audio, gracias al módulo love.sound, que maneja toda la decodificación. Los formatos soportados incluyen:
- MP3
- Ogg Vorbis
- WAVE
- y casi cualquier formato Tracker que se te pueda ocurrir: XM, MOD, y como otros veinte .
Ogg Vorbis y WAVE de 16-bit son los formatos recomendados. Otros pueden tener problemitas menores. Por ejemplo, el decodificador de MP3 podría meter muestras de más dependiendo del codificador usado. Estos problemas provienen de las bibliotecas que LÖVE usa para decodificar archivos de audio y no se pueden arreglar en LÖVE directamente.
Static vs. Streaming
Ten en cuenta que si a love.audio.newSource
le pasas "static" como segundo argumento el archivo de sonido se cargará en la memoria, así que si cargas un archivo .ogg comprimido de 5 MB de esa forma, ocupará ~50 MB de RAM al descomprimirse por completo. Considera no usar "static" en tales casos.
Si omites el "static", el audio se reproducirá desde el archivo, algo que te ahorrará mucha memoria cuando trates con archivos masivos.
Control de Audio
Para pausar, detener, cambiar volumen, reproducir en bucle, tono, etc., simplemente llama al metodo relevante de una Source.
src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3", "stream")
src1:setVolume(0.9) -- 90% del volumen ordinario
src1:setPitch(0.5) -- una octava más abajo
src2:setVolume(0.7)
src1:play()
src2:play()
Ejemplo
function love.load()
source = love.audio.newSource("Ye-Olde-Pub_Looping.mp3", "stream")
end
function love.update(dt)
if not source:isPlaying( ) then
love.audio.play( source )
end
end
Puedes encontrar más detalles en la documentación de Source.
Vease también
- love.audio (Español)
- TEsound - Un administrador de sonido que hace más fácil usar efectos de sonido y música.
- Minimalist Sound Manager - Un snippet que hace más fácil el uso de love.audio y administrar las fuentes automáticamente.
Otros idiomas
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