AudioParam.setValueAtTime()

Этот перевод не завершён. Пожалуйста, помогите перевести эту статью с английского

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. A TypeError 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);
}

Specifications

Specification Status Comment
Web Audio API
Определение 'setValueAtTime' в этой спецификации.
Рабочий черновик

Browser compatibility

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
setValueAtTimeChrome Полная поддержка 14Edge Полная поддержка 12Firefox Полная поддержка 25IE Нет поддержки НетOpera Полная поддержка 15Safari Полная поддержка 6WebView Android Полная поддержка ДаChrome Android Полная поддержка 18Firefox Android Полная поддержка 26Opera Android Полная поддержка 14Safari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки

See also