/* Taken from
https://raw.github.com/WebKit/webkit/master/LayoutTests/webaudio/resources/buffer-loader.js */
function BufferLoader(context, urlList, callback) {
this .context = context;
this .urlList = urlList;
this .onload = callback;
this .bufferList =
new Array();
this .loadCount = 0;
}
BufferLoader.prototype.loadBuffer =
function (url, index) {
// Load buffer asynchronously
var request =
new XMLHttpRequest();
request.open(
"GET" , url,
true );
request.responseType =
"arraybuffer" ;
var loader =
this ;
request.onload =
function () {
loader.context.decodeAudioData(request.response, decodeSuccessCallback, decodeErro
rCallback);
};
request.onerror = function () {
alert('BufferLoader: XHR error' );
};
var decodeSuccessCallback = function (buffer) {
loader.bufferList[index] = buffer;
if (++loader.loadCount == loader.urlList.length)
loader.onload(loader.bufferList);
};
var decodeErrorCallback = function () {
alert('decodeErrorCallback: decode error' );
};
request.send();
}
BufferLoader.prototype.load = function () {
for (var i = 0; i < this .urlList.length; ++i)
this .loadBuffer(this .urlList[i], i);
}
Messung V0.5 C=99 H=95 G=96
¤ Dauer der Verarbeitung: 0.24 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland