decodeAudioData sample
var catMeowingBuffer = null;
var AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
function onError(err) {
console.error(err);
}
function loadCatSound(url) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
// Decode asynchronously
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
catMeowingBuffer = buffer;
}, onError);
}
request.send();
}
loadCatSound("4513.m4a");
function playCatSound() {
if (catMeowingBuffer !== null) {
var src = context.createBufferSource();
src.buffer = catMeowingBuffer
src.connect(context.destination);
src.start(0);
}
}
original: http://chromium.googlecode.com/svn/trunk/samples/audio/doc/loading-sounds.html