howler.js nos permite crear sprites de audio con HTML5, perfecto para juegos web

Sigue a

howler.js

howler.js es un pequeño framework que nos ayuda a manejar el sonido en una página web (con el audio de HTML5), nos permite controlar todo lo más básico (reproducir y parar) y nos brinda la posibilidad de tener unos efectos de entrada y salida del audio de forma progresiva, pero sin duda lo más interesante del framework es que nos permite hacer sprites con un archivo de audio (o lo que es lo mismo, tener un archivo con muchos sonidos y hacer sonar una parte determinada).

El uso de esta herramienta por ejemplo en la creación de juegos HTML5 puede ahorrarnos mucho trabajo y mucho ancho de banda, ya que por un lado nos permite crear sprites (con lo que reducimos el número de peticiones) y por otro lado elige directamente que archivo debe reproducir en la lista de archivos que le damos.

Como usarlo

El uso es muy simple, por cada archivo que carguemos tenemos que crear un nuevo objeto (aunque después puede ser un archivo que contiene varias pistas) y le tenemos que pasar como argumento un objeto con todos los parámetros del audio. Este es un ejemplo del código básico para reproducir un bucle de audio:

var sonido = new Howl({
  urls: ['sonido.mp3', 'sonido.ogg', 'sonido.wav'],
  autoplay: true,	// true = se autoejecuta
  loop: true,		// true = bucle de audio
  volume: 0.5,		// Nivel del volumen [0-1]
  onend: function() {	// Se ejecuta al finalizar la pista
    alert('Fin');
  }
})

En el siguiente supuesto usaríamos dos sonidos de audio, de distinto formato por mantener la compatibilidad con todos los navegadores y lo dividiremos en varias pistas (aplauso, disparo y sirena).

var sonido = new Howl({
  urls: ['sonido.mp3', 'sonido.ogg'],
  sprite: {
    aplauso: [0, 2000],
    disparo: [2000, 200],
    sirena: [5000, 5000]
  }
})
// Reproducimos todo el archivo con este método
sonido.play()
// Reproducimos desde los 2s durante 200ms (aplauso)
sonido.play('aplauso')

El objeto sprite contiene las distintas pistas de audio, el primer parámetro pertenece al inicio de la pista y el segundo parámetro a la duración, todo en milisegundos. Lo reproduciremos con el método play() (en este caso sonido.play('aplauso')), de la misma forma que podemos reproducir cualquier archivo de audio, incluso varios al mismo tiempo.

Más información | howler.js
Vía | Antonio Navajas

Los comentarios se han cerrado

Ordenar por:

5 comentarios