2023. 3. 21. 19:29

// 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();