From 790e5088f351d12385ee33ff9cf04dca6a8bddf6 Mon Sep 17 00:00:00 2001 From: yo mama Date: Wed, 18 Feb 2015 23:30:53 -0800 Subject: first --- loadMusic.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 loadMusic.js (limited to 'loadMusic.js') diff --git a/loadMusic.js b/loadMusic.js new file mode 100644 index 0000000..6353ae7 --- /dev/null +++ b/loadMusic.js @@ -0,0 +1,33 @@ +self.addEventListener('message', function(e) { + var data = e.data; + switch (data.cmd) { + case 'load': + var request = new XMLHttpRequest(); +// var req_url = "cgi-bin/proxy?"+encodeURI(data.url); + var req_url = "cgi-bin/proxy?"+data.url; + request.open("GET", req_url, true); + request.responseType = "arraybuffer"; + + request.onload = function() { + var response = ab2str(request.response); + if(response == "failed") + self.postMessage({'result' : 'failed', 'url' : data.url, "response" : 'Getthing content has failed.'}); + else + self.postMessage({'result' : 'success', 'url' : data.url, "response" : request.response}); + } + + request.onerror = function() { + self.postMessage({'result' : 'failed', 'url' : data.url, "response" : 'BufferLoader: XHR error'}); + } + + request.send(); + + break; + default: + self.postMessage({'result' : 'failed', 'url' : data.url, "response" : 'Unknown command: ' + data.msg}); + }; +}, false); + +function ab2str(buf) { + return String.fromCharCode.apply(null, new Uint8Array(buf, 0, 6)); +} -- cgit v1.2.3-70-g09d2