/SoundJS

A Javascript library for working with Audio. Features a simple interface as the front end to multiple audio APIs via a plugin model. Currently supports HTML5 Audio & Flash.

Primary LanguageJavaScript

SoundJS

SoundJS is a library to make working with audio on the web easier. It provides a consistent API for playing audio in different browsers, including using a target plugin model to provide an easy way to provide additional audio plugins like Web Audio, and a Flash fallback. A mechanism has been provided for easily tying in audio preloading to PreloadJS

Example

createjs.Sound.addEventListener("loadcomplete", handleLoadComplete);
createjs.Sound.registerSound({src:"path/to/sound.mp3|path/to/sound.ogg", id:"sound"});
function handleLoadComplete(event) {
	createjs.Sound.play("sound");
}

License

Built by gskinner.com, and released for free under the MIT license, which means you can use it for almost any purpose (including commercial projects). We appreciate credit where possible, but it is not a requirement.

Support and Resources

Classes

The core API for playing sounds. Simply call Sound.play(sound, ...options), and a sound instance is created that can be used to control the audio, and dispatches events when it is complete, loops, or is interrupted.

A controllable sound object that wraps the actual plugin implementation, providing a consistent API for audio playback, no matter what happens in the background. Sound instances can be paused, muted, and stopped, and the volume, pan (where available), and position using the simple API.

The default, built-in plugin, which uses Web Audio APIs to playback sounds. This is currently only available in Chrome on OSX and Windows, and iOS 6+. Note that WebAudio will fail to load when run locally, and the HTML audio plugin will be used instead.

The fallback built-in plugin, which manages audio playback via the HTML5 tag. This will be used in instances where the WebAudio plugin is not available.

An additional plugin which uses a flash shim (and SWFObject) to playback audio using Flash. You must manually set up and register this plugin.

Have a look at the included examples and API documentation for more in-depth information.