ConstantSourceNode: offset-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 schreibgeschützte offset-Eigenschaft der ConstantSourceNode-Schnittstelle gibt ein AudioParam-Objekt zurück, das den numerischen a-rate-Wert angibt, der von der Quelle immer zurückgegeben wird, wenn nach dem nächsten Sample gefragt wird.

Hinweis: Während das AudioParam namens offset schreibgeschützt ist, ist es die value-Eigenschaft darin nicht. Sie können also den Wert von offset ändern, indem Sie den Wert von ConstantSourceNode.offset.value festlegen:

js
myConstantSourceNode.offset.value = newValue;

Wert

Ein AudioParam-Objekt, das den a-rate-Wert angibt, der für jedes Sample von diesem Knoten zurückgegeben wird. Der Standardwert ist 1,0.

Um den aktuellen Wert des offset-Parameters abzurufen, greifen Sie auf die value-Eigenschaft des Parameters zu, wie im obigen Syntaxkasten gezeigt.

Beispiele

Dieses Beispiel zeigt, wie man einen ConstantSourceNode einrichtet, sodass dessen offset als Eingabe für ein Paar GainNodes verwendet wird; dieses Code-Snippet stammt aus dem vollständigen Beispiel, das Sie unter Controlling multiple parameters with ConstantSourceNode finden können.

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

volumeSliderControl.value = gainNode2.gain.value;

constantSource = context.createConstantSource();
constantSource.connect(gainNode2.gain);
constantSource.connect(gainNode3.gain);

Zuerst werden die Gain-Knoten erstellt und konfiguriert, und der Wert eines Schieberegler-Steuerelements wird so eingestellt, dass er dem Gain auf den beiden Knoten entspricht. Dann erstellen wir einen neuen ConstantSourceNode und machen ihn zur Quelle für die GainNode.gain-Werte der beiden Gain-Knoten. Jeder dieser Werte ist auch ein AudioParam.

Angenommen, wir haben einen Ereignishandler (für click-Ereignisse in diesem Fall), der darauf reagieren muss, indem er den Wert der beiden Gain-Knoten ändert. Mit der obigen Verbindung kann dies mit diesem einfachen Ereignishandler geschehen:

js
function handleClickEvent(event) {
  constantSource.offset.value = volumeSliderControl.value;
}

Alles, was diese Funktion tun muss, ist, den aktuellen Wert des Schieberegler-Steuerelements abzurufen, das wir verwenden, um die Gains der gepaarten Knoten zu steuern, und diesen Wert dann im offset-Parameter des ConstantSourceNode zu speichern. Dies geschieht durch Ändern des Inhalts seiner AudioParam.value-Eigenschaft. Die beiden Gain-Knoten übernehmen schnell das neue Lautstärkeniveau.

Spezifikationen

Specification
Web Audio API
# dom-constantsourcenode-offset

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch