UNPKG

waveform-playlist

Version:

Multiple track web audio editor and player with waveform preview

27 lines (26 loc) 728 B
import Loader from "./Loader"; export default class extends Loader { /** * Loads an audio file via XHR. */ load() { return new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open("GET", this.src, true); xhr.responseType = "arraybuffer"; xhr.send(); xhr.addEventListener("progress", e => { super.fileProgress(e); }); xhr.addEventListener("load", e => { const decoderPromise = super.fileLoad(e); decoderPromise.then(audioBuffer => { resolve(audioBuffer); }).catch(reject); }); xhr.addEventListener("error", () => { reject(Error(`Track ${this.src} failed to load`)); }); }); } }