JSFiddle - React, Tailwind, and code Playground

by mohayonao

HTML

<button id="test">test</button>
<pre id="result"></pre>

JavaScript

window.AudioContext = window.AudioContext || window.webkitAudioContext;

var audioContext = new AudioContext();

document.getElementById("test").addEventListener("click", function() {
  var buffer = audioContext.createBuffer(1, 1000, audioContext.sampleRate);
  var bufSrc = audioContext.createBufferSource();
  var counter = 0;
  bufSrc.buffer = buffer;
  bufSrc.start(audioContext.currentTime);
  bufSrc.stop(audioContext.currentTime + buffer.duration);
  bufSrc.connect(audioContext.destination);
  
  
  document.getElementById("result").innerText = "";
  
  bufSrc.onended = function() {
    counter += 1;
    
    document.getElementById("result").innerText += "[" + counter + "]: " + audioContext.currentTime + "\n";
  };
});