Javascript audioContext.decodeAudioData works once, then gives error for each subsequent call

I have a local file blob URL which I turn into an audio buffer using the decodeAudioData function and fileReader, then I play that buffer using Tone.Player, looped indefinitely.

`        fetch(urlName)
        .then(response => response.arrayBuffer())
        .then(buffer => 
        {
          var blob = new Blob([buffer], { type: 'audio/wav' });
          const fileReader = new FileReader();
          fileReader.onload = async () => {
            const audioData = fileReader.result;
            const audioBuffer = await newAudioContext().decodeAudioData(audioData);
            const player = new Tone.Player(audioBuffer).toDestination();

            player.loop = true;
            player.start();

          };
          fileReader.readAsArrayBuffer(blob);`

For some reason this only works once, with the first sound successfully playing and looping forever, then each call to the function throws a “DOMException: Failed to execute ‘decodeAudioData’ on ‘BaseAudioContext’: Unable to decode audio data”

I am specifying { type: ‘audio/wav’ } each time I load in a new buffer of audio data, using the same exact type of .wav file (or even the same exact file).

I tried using a separate audioContext for each sound, same issue persists.

`  function newAudioContext() 
  {
    const AudioContext = window.AudioContext || window.webkitAudioContext;
    const audioCtx = new AudioContext();
    return audioCtx;
  }`

Does anyone have insight into this kind of issue? It would be greatly appreciated.