This does not give a direct answer to your question, but it will be useful.
An asynchronous decodeAudioData method has decodeAudioData added to the API. It will still use XHR, but it is worth switching your code to it. The new method is available in Chrome 14.
// Use async decoder if it is available. if (context.decodeAudioData) { context.decodeAudioData(arrayBuffer, function(buffer) { source.buffer = buffer; }, function(e) { console.log(e); }); } else { source.buffer = context.createBuffer(arrayBuffer, false); }
ebidel
source share