AudioParam: linearRampToValueAtTime() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die Methode linearRampToValueAtTime() der Schnittstelle AudioParam plant eine schrittweise lineare Änderung des Wertes des AudioParam. Die Änderung beginnt zur für das vorherige Ereignis angegebenen Zeit, folgt einer linearen Rampe zum neuen Wert, der im value-Parameter angegeben ist, und erreicht den neuen Wert zu der im endTime-Parameter angegebenen Zeit.
Syntax
linearRampToValueAtTime(value, endTime)
Parameter
Rückgabewert
Ein Verweis auf dieses AudioParam-Objekt. In einigen Browsern geben ältere Implementierungen dieser Schnittstelle undefined zurück.
Beispiele
In diesem Beispiel haben wir eine Medienquelle mit zwei Steuerungstasten (siehe das audio-param Repo für den Quellcode oder sehen Sie sich das Beispiel live an). Wenn diese Tasten gedrückt werden, wird linearRampToValueAtTime() verwendet, um den Gain-Wert auf 1,0 hoch und auf 0 herunterzufahren. Dies ist ziemlich nützlich für Ein-/Ausblendeffekte, obwohl AudioParam.exponentialRampToValueAtTime() oft als etwas natürlicher empfunden wird.
// create audio context
const audioCtx = new AudioContext();
// set basic variables for example
const myAudio = document.querySelector("audio");
const linearRampPlus = document.querySelector(".linear-ramp-plus");
const linearRampMinus = document.querySelector(".linear-ramp-minus");
// Create a MediaElementAudioSourceNode
// Feed the HTMLMediaElement into it
const source = audioCtx.createMediaElementSource(myAudio);
// Create a gain node and set its gain value to 0.5
const gainNode = audioCtx.createGain();
// connect the AudioBufferSourceNode to the gainNode
// and the gainNode to the destination
gainNode.gain.setValueAtTime(0, audioCtx.currentTime);
source.connect(gainNode);
gainNode.connect(audioCtx.destination);
// set buttons to do something onclick
linearRampPlus.onclick = () => {
gainNode.gain.linearRampToValueAtTime(1.0, audioCtx.currentTime + 2);
};
linearRampMinus.onclick = () => {
gainNode.gain.linearRampToValueAtTime(0, audioCtx.currentTime + 2);
};
Spezifikationen
| Specification |
|---|
| Web Audio API> # dom-audioparam-linearramptovalueattime> |
Browser-Kompatibilität
Loading…