// create an AudioContext
const AudioContext = window.AudioContext || window.webkitAudioContext;
const audioContext = new AudioContext();
// load the MP3 file
const url = 'example.mp3';
const request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
request.onload = function() {
// decode the audio data
audioContext.decodeAudioData(request.response, function(buffer) {
// create a source node
const source = audioContext.createBufferSource();
source.buffer = buffer;
// create a stereo panner node
const panner = audioContext.createStereoPanner();
panner.pan.value = 0; // center position
// connect the nodes
source.connect(panner);
panner.connect(audioContext.destination);
// start the playback
source.start();
});
};
request.send();