У меня есть два компьютера, которые подключены друг к другу с помощью аудио-микрофонного кабеля. Один из них - ноутбук с html-файлом, который генерирует частоту от 1 до 20 кГц с именем (generator.html), а другой - на настольном ПК.которые определяют частоту (pitchdetect.html), все работает отлично только под 6 кГц, но когда я превышаю эту частоту, файл (pitchdetect.js) не может захватить частоту, и это будет указывать значение ошибки, я пытался изменить частотув pitchdetect.html без дальнейшего успеха.Вот мой код для
generator.html:
<html>
<head>
<title>Alertku - Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function alertku(){
if(alertku.opt){
document.getElementById('alertku_span').firstChild.nodeValue += ', run';
var fx = Number(document.getElementById("fof").value);
//create the context for the web audio
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
//create, tune, start and connect each oscillator sinea
var sinea = audioCtx.createOscillator();
sinea.frequency.value = fx;
sinea.type = "sine";
sinea.start();
sinea.connect(audioCtx.destination);
setTimeout(alertku, 1000);
}
};
</script>
</head>
<body>
<div>
<input type="text" id="fof" value="1000">
<input type="button" value="RUN" onclick="alertku.opt = true; alertku();">
<input type="button" value="STOP" onclick="alertku.opt = false;"><br>
<span id="alertku_span">hum</span>
</div>
</body>
</html>
и pitchdetect.js, доступных по этому URL:
https://github.com/cwilso/PitchDetect/blob/master/js/pitchdetect.js
Я изменил частоту MAX_SIZEзначение от 5000 до 20000 без дальнейшего успеха:
audioContext = new AudioContext();
MAX_SIZE = Math.max(4,Math.floor(audioContext.sampleRate/5000)); //
corresponds to a 5kHz signal.....I have changed it to 20000
var request = new XMLHttpRequest();
request.open("GET", "../sounds/whistling3.ogg", true);
request.responseType = "arraybuffer";
request.onload = function() {
audioContext.decodeAudioData( request.response, function(buffer) {
theBuffer = buffer;
Любая помощь?