diff --git a/README.md b/README.md new file mode 100644 index 0000000..4ea43ee --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Mic Measurement + +## Help + +- https://stackoverflow.com/questions/33322681/checking-microphone-volume-in-javascript diff --git a/app.js b/app.js index e69de29..1d9f0fb 100644 --- a/app.js +++ b/app.js @@ -0,0 +1,29 @@ +navigator.mediaDevices.getUserMedia({ + audio: true, + video: true +}) + .then(function(stream) { + const audioContext = new AudioContext(); + const analyser = audioContext.createAnalyser(); + const microphone = audioContext.createMediaStreamSource(stream); + const scriptProcessor = audioContext.createScriptProcessor(2048, 1, 1); + + analyser.smoothingTimeConstant = 0.8; + analyser.fftSize = 1024; + + microphone.connect(analyser); + analyser.connect(scriptProcessor); + scriptProcessor.connect(audioContext.destination); + scriptProcessor.onaudioprocess = function() { + const array = new Uint8Array(analyser.frequencyBinCount); + analyser.getByteFrequencyData(array); + const arraySum = array.reduce((a, value) => a + value, 0); + const average = arraySum / array.length; + console.log(Math.round(average)); + // colorPids(average); + }; + }) + .catch(function(err) { + /* handle the error */ + console.error(err); + }); diff --git a/index.html b/index.html index e69de29..147288c 100644 --- a/index.html +++ b/index.html @@ -0,0 +1,11 @@ + + + + + + + + + + +