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 Interface ConstantSourceNode ist Teil der Web Audio API und stellt eine Audioquelle dar, die auf AudioScheduledSourceNode basiert und als Ausgabe einen einzelnen, unveränderlichen Wert liefert. Es eignet sich daher für Fälle, in denen Sie einen konstanten Wert von einer Audioquelle benötigen. Außerdem kann es wie ein konstruierbarer AudioParam verwendet werden, indem Sie den Wert seines offset automatisieren oder einen anderen Node damit verbinden. Siehe Mehrere Parameter mit ConstantSourceNode steuern.
Ein ConstantSourceNode hat keine Eingänge und genau einen monauralen Ausgang (einen Kanal). Der Wert des Ausgangs entspricht immer dem Wert des Parameters offset.
| Anzahl der Eingänge | 0 |
|---|---|
| Anzahl der Ausgänge | 1 |
Konstruktor
ConstantSourceNode()-
Erstellt eine neue
ConstantSourceNode-Instanz und gibt sie zurück. Optional kann ein Objekt angegeben werden, das Anfangswerte für die Eigenschaften der Instanz 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, der den Wert angibt, den diese Quelle kontinuierlich ausgibt. Der Standardwert ist 1,0.
Instanzmethoden
Erbt Methoden vom übergeordneten Interface AudioScheduledSourceNode.
Hinweis:
In einigen Browsern sind diese Methoden als Teil des Interfaces AudioScheduledSourceNode implementiert.
Ereignisse
Erbt Ereignisse vom übergeordneten Interface AudioScheduledSourceNode.
Hinweis:
In einigen Browsern sind diese Ereignisse als Teil des Interfaces AudioScheduledSourceNode implementiert.
ended-
Wird ausgelöst, wenn die Wiedergabe der Daten des
ConstantSourceNodebeendet ist.
Beispiel
Im Artikel Mehrere Parameter mit ConstantSourceNode steuern wird ein ConstantSourceNode erstellt, damit ein Schieberegler den Gain von zwei GainNode-Instanzen ändern kann. Die drei Nodes 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);
Der Code erstellt zunächst die Gain-Nodes und setzt sowohl sie als auch den Lautstärkeregler, der ihre Werte anpasst, auf 0,5. Anschließend wird der ConstantSourceNode durch Aufrufen von AudioContext.createConstantSource() erstellt. Die Gain-Parameter der beiden Gain-Nodes werden mit dem ConstantSourceNode verbunden. Danach wird die konstante Quelle durch Aufrufen ihrer Methode start() gestartet. Schließlich werden die beiden Gain-Nodes mit dem Audioausgang verbunden (üblicherweise Lautsprecher oder Kopfhörer).
Wenn sich nun der Wert von constantNode.offset ändert, nehmen die Gain-Werte von gainNode2 und gainNode3 denselben Wert an.
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> |