MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

AudioParam.setValueAtTime()

Metoda setValueAtTime() interfejsu AudioParam odpowiada za precyzyjne przyporządkowanie nagłych zmian do wartości AudioParam w określonym czasie względem AudioContext.currentTime. Nowa wartość zostaje podana w wartości parametru.

Składnia

var AudioParam = AudioParam.setValueAtTime(value, startTime)

Parametry

value
Liczba zmiennoprzecinkowa reprezentująca wartość AudioParam przyporządkuje się do podanego czasu.
startTime
Zmienna double reprezentująca czas (w sekundach) po AudioContext została utworzona jako pierwsza, dzięki czemu dochodzi do zmiany wartości. TypeError zostanie zwrócony, jeśli uzyskana wartość jest negatywna.

Zwracanie wartości funkcji (return)

Odnośnik do obiektu AudioParam. W niektórych przeglądarkach wprowadzenie tego interfejsu zaskutkuje zwróceniem pustego typu danych (void).

Przykłady

Ten stosunkowo prosty przykład zawiera źródło mediaelementu z dwiema kontrolkami (sprawdź kod źródłowy poprzez nasze repo audio-param lub zobacz przykład live). Jeśli kontrolki są wciśnięte, zmienna currGain jest inkrementowana/dekrementowana o 0.25. Wówczas metoda setValueAtTime() zostaje użyta do ustawienia wartości przedwzmacniacza (gain) jako równej currGain, jedną sekundę od teraz (audioCtx.currentTime + 1).

// utworzenie kontekstu audio
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();

// podanie podstawowych zmiennych dla przykładu
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');

// utworzenie MediaElementAudioSourceNode
// wprowadzenie HTMLMediaElement
var source = audioCtx.createMediaElementSource(myAudio);

// utworzenie parametrów przedwzmacniacza (gain node) i ustawienie wartości przedwzmacniacza na wartość 0.5
var gainNode = audioCtx.createGain();
gainNode.gain.value = 0.5;
var currGain = gainNode.gain.value;

// podłączenie AudioBufferSourceNode do gainNode
// oraz gainNode do destynacji
source.connect(gainNode);
gainNode.connect(audioCtx.destination);

// określenie, co ma się wykonać po kliknięciu
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);
}

Specyfikacje

Specifikacja Status Komentarz
Web Audio API
The definition of 'setValueAtTime' in that specification.
Working Draft  

Zgodność z przeglądarkami

Cecha Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Wsparcie podstawowe 14 webkit (Yes) 23 No support 15 webkit
22 (unprefixed)
6 webkit
Bez prefiksu (Yes) (Yes)        
Cecha Android Android Webview Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Wsparcie podstawowe No support (Yes) (Yes) 25 1.2 No support No support webkit 28 webkit
Bez prefiksu ? (Yes) (Yes)           (Yes)

Zobacz również

Autorzy i etykiety dokumentu

 Autorzy tej strony: drm404
 Ostatnia aktualizacja: drm404,