Rename airtime_mvc/ to legacy/
This commit is contained in:
parent
f0879322c2
commit
3e18d42c8b
1316 changed files with 0 additions and 0 deletions
86
legacy/public/js/waveformplaylist/loader.js
Normal file
86
legacy/public/js/waveformplaylist/loader.js
Normal file
|
@ -0,0 +1,86 @@
|
|||
'use strict';
|
||||
|
||||
var BufferLoader = function() {
|
||||
|
||||
}
|
||||
|
||||
BufferLoader.prototype.init = function(params) {
|
||||
|
||||
var loader = this;
|
||||
loader.context = params.context;
|
||||
loader.bufferList = [];
|
||||
loader.loadCount = 0;
|
||||
|
||||
loader.defaultParams = {
|
||||
|
||||
};
|
||||
|
||||
loader.params = Object.create(params);
|
||||
Object.keys(loader.defaultParams).forEach(function (key) {
|
||||
if (!(key in params)) { params[key] = loader.defaultParams[key]; }
|
||||
});
|
||||
}
|
||||
|
||||
BufferLoader.prototype.requestBuffer = function(url, name) {
|
||||
var loader = this,
|
||||
request = new XMLHttpRequest();
|
||||
|
||||
request.open("GET", url, true);
|
||||
request.responseType = "arraybuffer";
|
||||
|
||||
request.onload = function() {
|
||||
loader.context.decodeAudioData(request.response, function(buffer) {
|
||||
if (!buffer) {
|
||||
alert('error decoding file data: '+url);
|
||||
return;
|
||||
}
|
||||
|
||||
loader.loadCount++;
|
||||
loader.onAudioFileLoad(name, buffer);
|
||||
|
||||
if (loader.loadCount === loader.urlList.length) {
|
||||
loader.onAudioFilesDone(loader.bufferList);
|
||||
}
|
||||
},
|
||||
function(error) {
|
||||
console.error('decodeAudioData error',error);
|
||||
});
|
||||
}
|
||||
|
||||
request.onerror = function(){
|
||||
alert('BufferLoader: XHR error');
|
||||
};
|
||||
|
||||
request.send();
|
||||
};
|
||||
|
||||
BufferLoader.prototype.loadAudio = function(aUrls, callback) {
|
||||
|
||||
var names=[];
|
||||
var paths=[];
|
||||
|
||||
for (var name in aUrls) {
|
||||
var path = aUrls[name];
|
||||
names.push(name);
|
||||
paths.push(path);
|
||||
}
|
||||
|
||||
this.urlList = paths;
|
||||
|
||||
var i,
|
||||
length;
|
||||
|
||||
for (i = 0, length = paths.length; i < length; i++) {
|
||||
this.requestBuffer(paths[i], names[i]);
|
||||
}
|
||||
}
|
||||
|
||||
BufferLoader.prototype.onAudioFileLoad = function(name, buffer) {
|
||||
|
||||
this.bufferList[name] = buffer;
|
||||
}
|
||||
|
||||
BufferLoader.prototype.onAudioFilesDone = function(bufferList) {
|
||||
var fn = this.params.onComplete;
|
||||
fn(bufferList);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue