Thank you for your question ! Maybe, the `decodeAudioData` resolves this problem.
const source = null;
function loadFileAsAudio()
{
const file = document.getElementById("fileToLoad").files[0];
//document.getElementById("inputFileNameToSaveAs").value =
file.name;
const fileReader = new FileReader();
fileReader.onload = () => {
const arraybuffer = fileReader.result;
audioCtx.decodeAudioData(arraybuffer).then((audioBuffer) => {
source = audioCtx.createBufferSource();
source.buffer = audioBuffer;
}).catch((error) => console.error(error));
};
fileReader.readAsArrayBuffer(file);
}
function playAudio()
{
source.connect(audioCtx.destination);
source.start(0);
}