OscillatorNode: type-Eigenschaft
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 type
-Eigenschaft des OscillatorNode
-Interfaces gibt an, welche Form der Wellenform der Oszillator ausgibt. Es stehen mehrere gängige Wellenformen zur Verfügung sowie eine Option, eine benutzerdefinierte Wellenform festzulegen. Die Form der Wellenform beeinflusst den erzeugten Ton.
Wert
Ein String, der die Form der Oszillatorwelle angibt. Die verschiedenen verfügbaren Werte sind:
sine
-
Eine Sinuswelle. Dies ist der Standardwert.
square
-
Eine Rechteckwelle mit einem Tastverhältnis von 0.5; das heißt, das Signal ist für die Hälfte jedes Zeitraums "hoch".
sawtooth
-
Eine Sägezahnwelle.
triangle
-
Eine Dreieckswelle.
custom
-
Eine benutzerdefinierte Wellenform. Sie setzen
type
nie manuell aufcustom
; stattdessen verwenden Sie die MethodesetPeriodicWave()
, um die Daten bereitzustellen, die die Wellenform repräsentieren. Dadurch wirdtype
automatisch aufcustom
gesetzt.
Ausnahmen
InvalidStateError
DOMException
-
Wird ausgelöst, wenn der Wert
custom
angegeben wurde. Um eine benutzerdefinierte Wellenform festzulegen, rufen Sie einfachsetPeriodicWave()
auf. Dadurch wird der Typ automatisch für Sie festgelegt.
Beispiele
Das folgende Beispiel zeigt die grundlegende Nutzung eines AudioContext
, um einen Oszillator-Knoten zu erstellen. Für ein praktisches Beispiel schauen Sie sich unser Violent Theremin-Demo an (siehe app.js für den 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.start();
Spezifikationen
Specification |
---|
Web Audio API # dom-oscillatornode-type |
Browser-Kompatibilität
BCD tables only load in the browser