Ich versuche, Oszillator spielen zu machen, wenn die Maus auf Leinwand ist und zu stoppen, wenn es nicht ist. Doch mit aktuellem Code, es funktioniert nur einmal nach dem Laden Seite, wenn die Maus auf Leinwand zweiten Zeitfehler ist auftritt:Neustart Oszillator in Javascript
"Uncaught InvalidStateError: Failed to execute 'start' on 'OscillatorNode': cannot call start more than once.
var ac = new window.AudioContext() || new window.webkitAudioContext();
var osc = ac.createOscillator();
var canvas1 = document.getElementById("canvas1");
canvas1.addEventListener("mouseover", playosc);
canvas1.addEventListener("mouseout", stoposc);
function playosc() {
osc.frequency.value = 440;
osc.connect(ac.destination);
osc.start();
}
function stoposc() {
osc.stop();
}
Wie Oszillator neu gestartet werden? Vielen Dank.
@ K3N in der Tat, danke, ich habe das nur vom OP kopiert. –
@digeridoo Bitte beachten Sie, dass Sie diese Antwort als korrekt markieren (indem Sie auf das graue Häkchen oben links in dieser Antwort klicken), wenn Ihre Bedenken berücksichtigt wurden. –