ASaudio is a small library dedicated to simple and efficient sound handling. It has a straight-forward, clear and coherent syntax. A great feature is that you can put a bunch of sounds into a Group or a Playlist object and control them globally. You can also put groups into other groups, and thus create complex hierarchical structures.

The 4 main structures (Track, Group, Playlist and Mixer) implements a common interface, so for many methods and properties, you can treat every element the same way. Each navigation/sound transform methods (start(), stop(), mute(), left/right/center(), etc.) has a “fade” option to make smooth sound transitions (tiny internal tween engine, with a single timer).

Sample

var track:Track = new Track("path/to/track.mp3");
track.start();
track.volume = .5;

// groups
var group:Group = new Group( [new Track("path/to/track1.mp3"), new Track("path/to/track2.mp3"), new Track("path/to/track3.mp3")] );
group.pan = -1;
group.addChild(new Track("path/to/track4.mp3"));
group.start();
Sound . URL.