var audioCtx=new AudioContext(),buffers=[],length=0;
function waitForBuffers(){
if(buffers.length==length){ //Done.
console.log("Done loading buffers.");
fileInput.remove();
//playYourSoundHere(buffers);
}else{ //Retry and wait.
console.log(buffers.length+"/"+length);
setTimeout(waitForBuffers,100);
}
}
function openAudioFile(event){
length=event.target.files.length;
var readers=[],current=0;
for(var i=0;i<event.target.files.length;i++){
readers[i]=new FileReader();
readers[i].onload=function(){
audioCtx.decodeAudioData(readers[current].result,buffer=>{
buffers.push(buffer);
});
current++;
};
readers[i].readAsArrayBuffer(event.target.files[i]);
}
waitForBuffers();
};
var fileInput=document.createElement("input");
fileInput.setAttribute("type","file");
fileInput.setAttribute("accept","audio/*");
fileInput.setAttribute("multiple","");
document.body.appendChild(fileInput);
fileInput.addEventListener("change",openAudioFile,false);