Я знаю, что вы не можете использовать осциллятор более одного раза, поэтому я написал функцию, которая каждый раз создает новый:
function playFrequency(f, t0, t1){
console.log(f, t0, t1);
var oscillator = self.audioContext.createOscillator();
oscillator.type = "square";
oscillator.frequency.value = f;
oscillator.connect(self.audioContext.destination);
oscillator.start(t0);
oscillator.stop(t1);
}
Но странно то, что функция на самом деле воспроизведет звук только один раз. Я не могу понять, почему это происходит. Разве я не создаю новый осциллятор каждый раз, когда вызываю функцию?
Когда я создаю функцию "playFrequency2(f, t0, t1)" с точно таким же кодом, она будет воспроизводить звук даже после того, как первая функция воспроизвела звук. Но он не будет воспроизводить звук, когда я вызываю его во второй раз.