export class Decoder { public static decode(blob: Blob | File, actx: AudioContext): Promise { return new Promise((resolve, reject) => { const reader = new FileReader; reader.onloadend = () => { actx.decodeAudioData(reader.result).then(resolve, reject); }; reader.onerror = reject; reader.onabort = reject; reader.readAsArrayBuffer(blob); }); } }