마우스가 캔버스에있을 때 발진기를 작동시키고 그렇지 않을 때 정지하려고합니다.자바 스크립트에서 발진기를 다시 시작하십시오.
"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();
}
어떻게 오실레이터를 다시 시작 : 마우스가 캔버스 두 번째 오류에 그러나, 현재의 코드와 함께, 그것은 발생,로드 페이지 다음에 한 번만 작동? 감사.
참으로 감사합니다. 나는 방금 OP에서 그것을 복사했습니다. –
@digeridoo 귀하의 우려 사항을 해결 한 경우이 답을 올바른 것으로 표시하는 것을 고려하십시오 (이 답의 왼쪽 상단에있는 회색 체크 표시를 클릭하십시오). –