summaryrefslogtreecommitdiff
path: root/buffer-loader.js
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-02-18 23:30:53 -0800
committeryo mama <pepper@scannerjammer.com>2015-02-18 23:30:53 -0800
commit790e5088f351d12385ee33ff9cf04dca6a8bddf6 (patch)
tree4c36dc66c2a28ddb58648d022ec965b040c70dc7 /buffer-loader.js
first
Diffstat (limited to 'buffer-loader.js')
-rw-r--r--buffer-loader.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/buffer-loader.js b/buffer-loader.js
new file mode 100644
index 0000000..08c234d
--- /dev/null
+++ b/buffer-loader.js
@@ -0,0 +1,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);
+}
+