adjust gain
by jib1
HTML
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<audio id="audio" controls autoplay></audio><br>
<button onclick="start()">Start!</button><div id="div"></div>
JavaScript
var start = () => navigator.mediaDevices.getUserMedia({audio: true})
.then(stream => audio.srcObject = modifyGain(stream, 2.5))
.catch(e => log(e));
var modifyGain = (stream, gainValue) => {
var ctx = new AudioContext();
var src = ctx.createMediaStreamSource(stream);
var dst = ctx.createMediaStreamDestination();
var gainNode = ctx.createGain();
gainNode.gain.value = gainValue;
[src, gainNode, dst].reduce((a, b) => a && a.connect(b));
return dst.stream;
};
var log = msg => div.innerHTML += "<br>" + msg;