Saya mengembangkan satu sistem pemantauan berbasis web Menggunakan js dan WebRTC dan sekarang saya ingin mengembangkan fungsi notifikasi jika suara melampaui level tertentu.

Saya mengambil izin untuk video dan audio dan setelah izin, saya ingin menggunakan fungsi untuk pemberitahuan suara.

navigator.mediaDevices
  .getUserMedia({
    audio: true,
    video: true
  })
  .then(stream => {
    // Display your local video in #localVideo element
    localVideo.srcObject = stream;
    // Add your stream to be sent to the conneting peer
    pc.addStream(stream);
    // call function for sound check
  }, onError);
5
BRIJESH VADODARIYA 4 Juli 2020, 08:59

1 menjawab

Jawaban Terbaik

Anda dapat menggunakan kode ini.

<!DOCTYPE html>
<html>
<head>
<script>
  navigator.mediaDevices.getUserMedia({ audio: true }).then(function(stream) {
  audioContext = new AudioContext();
  analyser = audioContext.createAnalyser();
  microphone = audioContext.createMediaStreamSource(stream);
  javascriptNode = audioContext.createScriptProcessor(2048, 1, 1);
  analyser.smoothingTimeConstant = 0.8;
  analyser.fftSize = 1024;
  microphone.connect(analyser);
  analyser.connect(javascriptNode);
  javascriptNode.connect(audioContext.destination);
  javascriptNode.onaudioprocess = function() {
      var array = new Uint8Array(analyser.frequencyBinCount);
      analyser.getByteFrequencyData(array);
      var values = 0;

      var length = array.length;
      for (var i = 0; i < length; i++) {
        values += (array[i]);
      }

      var average = values / length;

      if(Math.round(average)>15)
      {
        console.log(Math.round(average));
        document.getElementById("lvl").innerHTML = Math.round(average)-10;
      }
    
  }
  })
  .catch(function(err) {
    /* handle the error */
});
</script>
</head>
<center><p id="lvl" style="font-size:200px"></p><center>
</html>

Salin dan buat file HTML dan buka di chrome dan buat beberapa suara. Anda akan mengetahui cara kerjanya dan jika itu sama dengan Anda memerlukan fungsi salin dari baris ke-5 dan menjadikannya satu fungsi terpisah dan memanggil fungsi ini adalah kode Anda.

Semoga berhasil untuk Anda

2
Sejpalsinh Jadeja 4 Juli 2020, 06:16