SoundManager 2 makes it easier to play audio using JavaScript.

By wrapping and extending the Flash and HTML5 Audio APIs, SoundManager 2 brings solid cross-browser, cross-platform audio functionality to JavaScript.

HTML5 Audio() Support! (New, Experimental)

    * 100% Flash-free MP3 + MP4/AAC where supported, compatible with Apple iPad
    * Fallback to Flash for MP3/MP4 support, as needed
    * SM2 API is unchanged, transparent; HTML5/flash switching handled internally
    * HTML5 API support approximates Flash 8 API features, minus ID3, plus buffering
    * Some other formats (WAV/OGG) supported via HTML5, depending on browser
    * See soundManager.useHTML5Audio for implementation details.

Basic API Features (Flash 8)
    * Load, stop, play, pause, mute, seek, pan and volume control of sounds from Javascript
    * Events: onload, whileloading, whileplaying, onfinish and more
    * ID3V1 and ID3V2 tag support for MP3s (title, artist, genre etc.)

Shiny Flash 9 Features
    * RTMP / Flash Media Server streaming support (new, experimental)
    * MPEG-4 (AAC, HE-AAC, H.264) audio support
    * "MultiShot" play (layered/chorusing effects)
    * Waveform/frequency spectrum data
    * Peak (L/R channel volume) data
    * Audio buffering state/event handling

General Tech Stuff

    * Full API Documentation with examples and notes
    * console.log()-style debug output and troubleshooting tools
    * Community-based discussion/support

A few nifty sites that have implemented SoundManager 2 for driving audio:

    * Last.fm
    * Muxtape
    * SoundCloud / The Cloud Player
    * 8tracks

Project home, documentation, live demos etc.:
http://www.schillmania.com/projects/soundmanager2/
