ConstantSourceNode

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.

Das ConstantSourceNode-Interface - Teil der Web Audio API - stellt eine Audioquelle dar (basierend auf AudioScheduledSourceNode), deren Ausgabe einen einzigen unveränderlichen Wert hat. Dies ist nützlich in Fällen, in denen Sie einen konstanten Wert von einer Audioquelle benötigen. Außerdem kann es wie ein konstruierbares AudioParam verwendet werden, indem der Wert seines offset automatisiert oder ein anderer Knoten damit verbunden wird; siehe Controlling multiple parameters with ConstantSourceNode.

Ein ConstantSourceNode hat keine Eingänge und genau einen monauralen (einkanaligen) Ausgang. Der Wert des Ausgangs ist immer derselbe wie der Wert des offset-Parameters.

EventTarget AudioNode AudioScheduledSourceNode ConstantSourceNode
Anzahl der Eingänge 0
Anzahl der Ausgänge 1

Konstruktor

ConstantSourceNode()

Erstellt und gibt eine neue ConstantSourceNode-Instanz zurück, wobei optional ein Objekt angegeben wird, das Anfangswerte für die Eigenschaften des Objekts festlegt. Alternativ können Sie die BaseAudioContext.createConstantSource()-Fabrikmethode verwenden; siehe Creating an AudioNode.

Instanzeigenschaften

Erbt Eigenschaften von seiner übergeordneten Schnittstelle, AudioScheduledSourceNode, und fügt die folgenden Eigenschaften hinzu:

offset

Ein AudioParam, das den Wert angibt, den diese Quelle kontinuierlich ausgibt. Der Standardwert ist 1.0.

Ereignisse

Erbt Ereignisse von seiner übergeordneten Schnittstelle, AudioScheduledSourceNode.

Hinweis: Die Implementierung dieser Ereignisse in einigen Browsern ist Teil der AudioScheduledSourceNode-Schnittstelle.

ended

Wird ausgelöst, wann immer die ConstantSourceNode-Daten nicht mehr abgespielt werden.

Instanzmethoden

Erbt Methoden von seiner übergeordneten Schnittstelle, AudioScheduledSourceNode.

Hinweis: Die Implementierung dieser Methoden in einigen Browsern ist Teil der AudioScheduledSourceNode-Schnittstelle.

start()

Plant die Wiedergabe eines Tons zu einem bestimmten Zeitpunkt.

stop()

Plant das Beenden der Wiedergabe eines Tons zu einem bestimmten Zeitpunkt.

Beispiel

Im Artikel Controlling multiple parameters with ConstantSourceNode wird ein ConstantSourceNode erstellt, um zu ermöglichen, dass ein Slider die Verstärkung von zwei GainNodes ändert. Die drei Knoten sind wie folgt eingerichtet:

js
gainNode2 = context.createGain();
gainNode3 = context.createGain();
gainNode2.gain.value = gainNode3.gain.value = 0.5;
volumeSliderControl.value = gainNode2.gain.value;

constantNode = context.createConstantSource();
constantNode.connect(gainNode2.gain);
constantNode.connect(gainNode3.gain);
constantNode.start();

gainNode2.connect(context.destination);
gainNode3.connect(context.destination);

Dieser Code beginnt mit der Erstellung der Gain-Knoten und setzt sie und die Lautstärkeregelung, die ihren Wert anpasst, auf 0,5. Dann wird das ConstantSourceNode durch Aufruf von AudioContext.createConstantSource() erstellt, und die Gain-Parameter jedes der beiden Gain-Knoten werden mit dem ConstantSourceNode verbunden. Nachdem die konstante Quelle durch Aufrufen ihrer start()-Methode gestartet wurde, werden schließlich die beiden Gain-Knoten mit der Audioausgabe (typischerweise Lautsprecher oder Kopfhörer) verbunden.

Jetzt, wann immer sich der Wert von constantNode.offset ändert, ändert sich die Verstärkung sowohl bei gainNode2 als auch gainNode3 zu diesem Wert.

Um dieses Beispiel in Aktion zu sehen und den Rest des Codes zu lesen, aus dem diese Schnipsel stammen, siehe Controlling multiple parameters with ConstantSourceNode.

Spezifikationen

Specification
Web Audio API
# ConstantSourceNode

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch