diff options
| author | ilotterytea <iltsu@alright.party> | 2024-06-16 13:32:32 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-06-16 13:32:32 +0500 |
| commit | 1257782012bc5a1f7e5d2b8e3025543b2899d499 (patch) | |
| tree | f05ad85159421e29cc18aa4ccc40d34eb9f10b98 | |
| parent | 90aecb0a22c1daf64d41e314acb806a6529424f7 (diff) | |
feat: update the preview image when decibels change
| -rw-r--r-- | scripts/microphone.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/scripts/microphone.js b/scripts/microphone.js index 93308df..ebf648f 100644 --- a/scripts/microphone.js +++ b/scripts/microphone.js @@ -1,5 +1,6 @@ if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { const volumeHtml = document.getElementById("volume"); + const previewHtml = document.getElementById("preview"); navigator.mediaDevices.getUserMedia({ audio: true }) .then(stream => { @@ -30,6 +31,18 @@ if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { const decibels = 20 * Math.log10(volume / 255); volumeHtml.innerText = `${decibels.toFixed(2)} dB`; + + const muted = localStorage.getItem("muted_img"); + const speak = localStorage.getItem("speak_img"); + const silence_db = localStorage.getItem("silence_db"); + + if (muted && previewHtml.src != muted && decibels <= silence_db) { + previewHtml.src = muted; + } + + if (speak && previewHtml.src != speak && decibels > silence_db) { + previewHtml.src = speak; + } }; }) .catch(err => { |
