let context;
async function initiate() {
  let mybuffer;
  const button = document.getElementById("button");
  button.addEventListener("click", function() {
    play(mybuffer);
  });
  context = new AudioContext();

  try {
    const response = await fetch("gunshot.wav");
    if (!response.ok) {
      throw new Error("HTTP error: " + response.status);
    }
    const arraybuffer = await response.arrayBuffer();
    mybuffer = await context.decodeAudioData(arraybuffer);
    button.disabled = false;
  } catch (error) {
    console.error(error);
  }
}
function play(mybuffer) {
  const sourceNode = context.createBufferSource();
  sourceNode.buffer = mybuffer;
  sourceNode.connect(context.destination);
  sourceNode.start(0);
}
window.addEventListener("DOMContentLoaded", initiate);