gpt4 book ai didi

javascript - 如何使用 JavaScript 获取音量级别?

转载 作者:行者123 更新时间:2023-12-01 15:25:33 25 4
gpt4 key购买 nike

我使用 js 和 WebRTC 开发了一个基于 Web 的监控系统,现在我想开发声音超出某个级别的通知功能。
我正在获得视频和音频的许可,并且在获得许可后,我想使用该功能进行声音通知。

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);

最佳答案

您可以使用此代码。

<!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>
复制并使其成为 HTML 文件并在 chrome 中打开它并发出一些声音。您将了解它是如何工作的,以及它是否与您需要从第 5 行复制功能并使其成为一个单独的功能并调用此功能是您的代码相同。
希望它对你有用

关于javascript - 如何使用 JavaScript 获取音量级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62725857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com