OscillatorNode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
Die OscillatorNode
-Schnittstelle repräsentiert eine periodische Wellenform, wie beispielsweise eine Sinuswelle. Es handelt sich um ein AudioScheduledSourceNode
Audiobearbeitungsmodul, das eine bestimmte Frequenz einer gegebenen Welle erzeugt – im Wesentlichen einen konstanten Ton.
Anzahl der Eingänge | 0 |
---|---|
Anzahl der Ausgänge | 1 |
Kanalanzahlmodus | max |
Kanalanzahl | 2 (im Standardzählmodus nicht verwendet) |
Kanalinterpretation | speakers |
Konstruktor
OscillatorNode()
-
Erstellt eine neue Instanz eines
OscillatorNode
-Objekts, gegebenenfalls mit einem Objekt, das Standardwerte für die Eigenschaften des Knotens angibt. Alternativ kann die FabrikmethodeBaseAudioContext.createOscillator()
verwendet werden; siehe Erstellen eines AudioNode.
Instanz-Eigenschaften
Erbt auch Eigenschaften von seinem Elternteil, AudioScheduledSourceNode
.
OscillatorNode.frequency
-
Ein a-rate
AudioParam
, das die Oszillationsfrequenz in Hertz darstellt (obwohl das zurückgegebeneAudioParam
schreibgeschützt ist, ist der dargestellte Wert dies nicht). Der Standardwert ist 440 Hz (ein Standardmittel-A-Ton). OscillatorNode.detune
-
Ein a-rate
AudioParam
, das die Verstimmung der Oszillation in Cents darstellt (obwohl das zurückgegebeneAudioParam
schreibgeschützt ist, ist der dargestellte Wert dies nicht). Der Standardwert ist 0. OscillatorNode.type
-
Ein String, der die Form der abzuspielenden Wellenform angibt; dies kann einer von mehreren Standardwerten sein oder
custom
, um einePeriodicWave
zur Beschreibung einer benutzerdefinierten Wellenform zu verwenden. Unterschiedliche Wellen erzeugen unterschiedliche Töne. Standardwerte sind"sine"
,"square"
,"sawtooth"
,"triangle"
und"custom"
. Der Standardwert ist"sine"
.
Instanz-Methoden
Erbt auch Methoden von seinem Elternteil, AudioScheduledSourceNode
.
OscillatorNode.setPeriodicWave()
-
Setzt eine
PeriodicWave
, die eine periodische Wellenform beschreibt, die anstelle einer der Standardwellenformen verwendet werden soll; das Aufrufen dieser Methode setzt dentype
aufcustom
. AudioScheduledSourceNode.start()
-
Gibt die genaue Zeit an, zu der der Ton abgespielt werden soll.
AudioScheduledSourceNode.stop()
-
Gibt die Zeit an, zu der das Abspielen des Tons beendet werden soll.
Ereignisse
Erbt auch Ereignisse von seinem Elternteil, AudioScheduledSourceNode
.
Beispiele
Das folgende Beispiel zeigt die grundlegende Verwendung eines AudioContext
, um einen Oszillator-Knoten zu erstellen und darauf einen Ton abzuspielen. Für ein angewandtes Beispiel, schauen Sie sich unser Violent Theremin Demo an (siehe app.js für relevanten Code).
// create web audio api context
const audioCtx = new AudioContext();
// create Oscillator node
const oscillator = audioCtx.createOscillator();
oscillator.type = "square";
oscillator.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator.connect(audioCtx.destination);
oscillator.start();
Spezifikationen
Specification |
---|
Web Audio API # OscillatorNode |
Browser-Kompatibilität
BCD tables only load in the browser