Wie kann ich dieses Klicken vermeiden, wenn ich aufhöre, einen Sound abzuspielen?
Ich hoffe wirklich, dass diese Frage eine Programmierfrage bleibt und keine Sound Mechanics-Frage auftaucht ... Here goes ...
Ich mache einige Experimente, um herauszufinden, wie die Web-Audio-API funktioniert. Was ich versuche, ist ein einfacher "Auflegen" -Ton, der in einer Schleife abgespielt wird. Das Problem ist, dass Sie am Ende des Tons ein ziemlich ärgerliches Klicken hören. Ich kann es nicht besser erklären, aber Sie können es hören, wenn Sie den Code testen.
Gibt es eine Möglichkeit, dies zu vermeiden? Irgendein Filter könnte ich anwenden oder so?
var audioContext = new (AudioContext || webkitAudioContext)();
var frequencyOffset = 0
function boop(){
// Our sound source is a simple triangle oscillator
var oscillator = audioContext.createOscillator(); // Create sound source
oscillator.type = 'triangle';
// Adding a gain node just to lower the volume a bit and to make the
// sound less ear-piercing
var gain = audioContext.createGain();
oscillator.connect(gain);
gain.connect(audioContext.destination);
gain.gain.value = 0.1;
// Just for fun let the frequency increase on each itteration
oscillator.frequency.value = 200 + frequencyOffset;
oscillator.start(0);
// The sound should last for 250ms
setTimeout(function(){
oscillator.disconnect();
oscillator.stop();
gain.disconnect();
}, 250);
frequencyOffset += 1;
}
setInterval(boop, 500);