Get unlimited public & private packages + team-based management with npm Teams.Learn more »

neat-audio

0.2.1 • Public • Published

neatAudio

A simple, neat promise wrapper for the web Audio Context API, designed for use with browserify. Get and play sounds from urls with ease.

Usage

You'll need to use a Promise pattern with neatAudio, since it returns promises.

Fetch a Sound

var neatAudio = require('neat-audio');
 
// Init neatAudio
neatAudio.init(window);
 
// Load the sound buffers into variable
neatAudio.fetchSound('willhelm_scream.wav').then(function(soundBuffer) {
  var scream = soundBuffer;
 
  // Play the sound
  neatAudio.playSound(scream);
}).catch(function(err) {
  console.error('Could not fetch sound!', err);
});

Fetch Multiple Sounds

var neatAudio = require('neat-audio');
var Promise = require('es6-promise'); // or some other promise lib/polyfill
 
// Init neatAudio
neatAudio.init(window);
 
// Declare some variables to look after your sound buffers
var sounds = {
  click: null,
  shick: null,
  boom: null
};
 
// Load the sound buffers into local variables
Promise.all([
  neatAudio.fetchSound('click.wav'),
  neatAudio.fetchSound('shick.wav'),
  neatAudio.fetchSound('boom.wav')
]).then(function(values) {
  sounds.click = values[0];
  sounds.shick = values[1];
  sounds.boom = values[2];
 
  // Playing any of them
  neatAudio.playSound(sounds.boom);
});

Todo

  • Modify project to show browserify bundling
  • Test with browser window
  • Add tests for getting and playing sounds

Install

npm i neat-audio

DownloadsWeekly Downloads

3

Version

0.2.1

License

MIT

Last publish

Collaborators

  • avatar