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 auf custom; stattdessen verwenden Sie die Methode setPeriodicWave(), um die Daten bereitzustellen, die die Wellenform repräsentieren. Dadurch wird type automatisch auf custom gesetzt.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn der Wert custom angegeben wurde. Um eine benutzerdefinierte Wellenform festzulegen, rufen Sie einfach setPeriodicWave() 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).

js
// 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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
type

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch