WebAudioOscGain

HTML

<!DOCTYPE html>
<html>
<head>
  <script>
  //---------------------------------------------------------------------
  // Edit These
  var gain = 0.1;
  var duration = 1000;
  //---------------------------------------------------------------------
  var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
  var gainNode = audioCtx.createGain();    
  //---------------------------------------------------------------------  
  var oscillator = audioCtx.createOscillator();
  oscillator.type = 'square';
  oscillator.frequency.value = 500;
  //---------------------------------------------------------------------
  oscillator.connect(gainNode);
  gainNode.connect(audioCtx.destination);
  //---------------------------------------------------------------------
  gainNode.gain.setValueAtTime(0.0, audioCtx.currentTime); // turned off by default
  oscillator.start(audioCtx.currentTime);  
  //---------------------------------------------------------------------
</script>
</head>
<!-- ===================================================================== -->
<body>

  <div>
    <button onclick="soundOn()">
      Click!
    </button>
  </div>
  <script>
  function mute()
  {  
    gainNode.gain.setValueAtTime(0.0, audioCtx.currentTime);    
  }
  function soundOn()
  {  
    gainNode.gain.setValueAtTime(gain, audioCtx.currentTime);    
    setTimeout(mute,duration);
  }
  </script>
</body>
<!-- ===================================================================== -->
</html>