JSFiddle - React, Tailwind, and code Playground
by alexvestin
HTML
<input id="file" type="file">Select song</input>
JavaScript
let audioCtx = new AudioContext();
let inputButton = document.getElementById("file");
let url = "https://s3.eu-west-3.amazonaws.com/fysiklabb/longmp3.mp3";
let url2 = "https://s3.eu-west-3.amazonaws.com/fysiklabb/y2mate.com+-+deadmau5_strobe_tKi9Z-f6qX4.mp3";
let loadFromUrl = false;
if(loadFromUrl) {
fetch(url2).then(response => {
return response.blob();
}).then(blob => {
readFile(blob);
})
}
let readFile = (file) => {
let fileReader = new FileReader();
fileReader.readAsArrayBuffer(file);
fileReader.onload = (event) => {
audioCtx.decodeAudioData(event.target.result).then(buffer => {
alert(buffer.duration);
})
};
}
inputButton.onchange = (event) => readFile(inputButton.files[0]);