ConstantSourceNode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.
Das ConstantSourceNode-Interface ist Teil der Web Audio API und stellt eine Audioquelle dar, die auf AudioScheduledSourceNode basiert und als Ausgabe einen einzigen, unveränderlichen Wert liefert. Es ist daher nützlich, wenn Sie einen konstanten Wert von einer Audioquelle benötigen. Außerdem kann es ähnlich wie ein instanziierbares AudioParam verwendet werden: Sie können den Wert seines offset-Parameters automatisieren oder einen anderen Knoten damit verbinden. Weitere Informationen finden Sie unter Mehrere Parameter mit ConstantSourceNode steuern.
Ein ConstantSourceNode hat keine Eingänge und genau einen monauralen (einkanaligen) Ausgang. Der Wert der Ausgabe entspricht immer dem Wert des offset-Parameters.
| Anzahl der Eingänge | 0 |
|---|---|
| Anzahl der Ausgänge | 1 |
Konstruktor
ConstantSourceNode()-
Erstellt eine neue
ConstantSourceNode-Instanz und gibt sie zurück. Optional können Sie ein Objekt angeben, das die Anfangswerte ihrer Eigenschaften festlegt. Alternativ können Sie die Factory-MethodeBaseAudioContext.createConstantSource()verwenden; siehe Einen AudioNode erstellen.
Instanzeigenschaften
Erbt Eigenschaften vom übergeordneten Interface AudioScheduledSourceNode und ergänzt die folgende Eigenschaft:
offsetSchreibgeschützt-
Ein
AudioParam, das den Wert festlegt, den diese Quelle kontinuierlich ausgibt. Der Standardwert ist 1.0.
Ereignisse
Erbt Ereignisse vom übergeordneten Interface AudioScheduledSourceNode.
Hinweis:
In einigen Browsern sind diese Ereignisse als Teil des AudioScheduledSourceNode-Interfaces implementiert.
ended-
Wird ausgelöst, wenn die Wiedergabe der Daten des
ConstantSourceNodebeendet wurde.
Instanzmethoden
Erbt Methoden vom übergeordneten Interface AudioScheduledSourceNode.
Hinweis:
In einigen Browsern sind diese Methoden als Teil des AudioScheduledSourceNode-Interfaces implementiert.
Beispiel
Im Artikel Mehrere Parameter mit ConstantSourceNode steuern wird ein ConstantSourceNode erstellt, damit ein einzelner Schieberegler die Verstärkung von zwei GainNode-Knoten ändern kann. Die drei Knoten werden folgendermaßen eingerichtet:
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 erstellt zunächst die Gain-Knoten und setzt sowohl diese als auch den Lautstärkeregler, der ihre Werte anpasst, auf 0.5. Anschließend wird der ConstantSourceNode durch Aufruf von AudioContext.createConstantSource() erstellt und mit den Gain-Parametern der beiden Gain-Knoten verbunden. Danach wird die konstante Quelle durch Aufruf ihrer start()-Methode gestartet. Schließlich werden die beiden Gain-Knoten mit dem Audioausgabegerät verbunden (in der Regel Lautsprecher oder Kopfhörer).
Wenn sich nun der Wert von constantNode.offset ändert, wird die Verstärkung von gainNode2 und gainNode3 auf denselben Wert gesetzt.
Wenn Sie das Beispiel in Aktion sehen und den übrigen Code lesen möchten, aus dem diese Ausschnitte stammen, lesen Sie Mehrere Parameter mit ConstantSourceNode steuern.
Spezifikationen
| Spezifikation |
|---|
| Web Audio API> # ConstantSourceNode> |