Я хочу создать осциллятор, который запускается и останавливается, когда пользователь нажимает клавишу (сейчас просто пробел). Но если клавиша нажата слишком долго, где-то секунду - осциллятор застревает и не останавливается();
let signal = {}
class Beep {
constructor() {
this.audioCtx = new window.AudioContext();
this.osc = this.audioCtx.createOscillator();
this.gainNode = this.audioCtx.createGain();
this.gainNode.connect(this.audioCtx.destination);
this.osc.connect(this.gainNode);
signal.beep = this;
}
}
function startTransmission(e) {
if(e.keyCode == 32) {
let b = new Beep();
signal.beep.osc.start();
}
}
function stopTransmission(e) {
if(e.keyCode == 32) {
signal.beep.osc.stop();
}
}
document.body.onkeydown = (e) => startTransmission(e);
document.body.onkeyup = (e) => stopTransmission(e);