AudioParam.setValueAtTime()
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.
io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ru/web/api/audioparam/index.md)
setValueAtTime()
метод интерфейса AudioParam
позволяющий мгновенно точно по времени изменять значение AudioParam
, сравнивая с AudioContext.currentTime
. Новое значение даётся в значении параметра.
Синтаксис
var AudioParam = AudioParam.setValueAtTime(value, startTime)
Параметры
- value
-
Число с плавающей точкой представляет значение AudioParam изменяемое в данное время.
- startTime
-
A double representing the time (in seconds) after the
AudioContext
was first created that the change in value will happen. ATypeError
is thrown if this value is negative.
Returns
A reference to this AudioParam
object. In some browsers older implementations of this interface return void.
Examples
This simple example features a media element source with two control buttons (see our webaudio-examples repo for the source code, or view the example live). When the buttons are pressed, the currGain
variable is incremented/decremented by 0.25, then the setValueAtTime()
method is used to set the gain value equal to currGain
, one second from now (audioCtx.currentTime + 1
.)
// create audio context
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
// set basic variables for example
var myAudio = document.querySelector("audio");
var pre = document.querySelector("pre");
var myScript = document.querySelector("script");
pre.innerHTML = myScript.innerHTML;
var targetAtTimePlus = document.querySelector(".set-target-at-time-plus");
var targetAtTimeMinus = document.querySelector(".set-target-at-time-minus");
// Create a MediaElementAudioSourceNode
// Feed the HTMLMediaElement into it
var source = audioCtx.createMediaElementSource(myAudio);
// Create a gain node and set it's gain value to 0.5
var gainNode = audioCtx.createGain();
gainNode.gain.value = 0.5;
var currGain = gainNode.gain.value;
// connect the AudioBufferSourceNode to the gainNode
// and the gainNode to the destination
source.connect(gainNode);
gainNode.connect(audioCtx.destination);
// set buttons to do something onclick
targetAtTimePlus.onclick = function () {
currGain += 0.25;
gainNode.gain.setValueAtTime(currGain, audioCtx.currentTime + 1);
};
targetAtTimeMinus.onclick = function () {
currGain -= 0.25;
gainNode.gain.setValueAtTime(currGain, audioCtx.currentTime + 1);
};
Спецификации
Specification |
---|
Web Audio API # dom-audioparam-setvalueattime |
Совместимость с браузерами
BCD tables only load in the browser