summaryrefslogtreecommitdiff
path: root/buffer-loader.js
blob: 08c234d3db7602ebae43f8ab861d3cc35877a3e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function BufferLoader(context, buffer, callback) {
	this.context = context;
	this.buffer = buffer;
	this.onload = callback;
	this.bufferList = new Array();
}

BufferLoader.prototype.loadBuffer = function(buffer) {
  var loader = this;

	// Asynchronously decode the audio file data in request.response
	loader.context.decodeAudioData(
		buffer,
		function(buffer) {
			if (!buffer) {
				alert('error decoding file data: ' + url);
				return;
			}
			loader.bufferList = buffer;
			loader.onload(loader.bufferList);
		},
		function(error) {
			console.error('decodeAudioData error', error);
		}
	);
}

BufferLoader.prototype.load = function() {
	this.loadBuffer(this.buffer);
}