Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>WebAudio example of biquad filter node</title>
</head>
<body>
  <audio src="https://mainline.i3s.unice.fr/mooc/drums.mp3" id="gainExample" controls loop crossorigin="anonymous"></audio>
        <br>
        <label for="gainSlider">Gain</label>
        <input type="range" min="0" max="1" step="0.01" value="1" id="gainSlider" />
</body>
</html>
 
// This line is a trick to initialize the AudioContext
// that will work on all recent browsers
var ctx = window.AudioContext || window.webkitAudioContext;
var audioContext;
var gainExample, gainSlider, gainNode;
window.onload = function() {
  
   // get the AudioContext
   audioContext = new ctx();
   // the audio element
   gainExample = document.querySelector('#gainExample');
   gainSlider = document.querySelector('#gainSlider');
   // fix for autoplay policy
  gainExample.addEventListener('play',() => audioContext.resume());
  
  buildAudioGraph();
  
  // input listener on the gain slider
  gainSlider.oninput = function(evt){
    gainNode.gain.value = evt.target.value;
  }; 
};
function buildAudioGraph() {
    // create source and gain node
    var gainMediaElementSource = audioContext.createMediaElementSource(gainExample);
    gainNode = audioContext.createGain();
  
    // connect nodes together
    gainMediaElementSource.connect(gainNode);
    gainNode.connect(audioContext.destination);
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
micbuffapro
0viewers