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.
Please take two minutes to fill out our short survey.
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 |