--- title: AudioParam.setValueAtTime() slug: Web/API/AudioParam/setValueAtTime tags: - API - AudioParam - Metodă - Referencja - Web Audio API - setValueAtTime translation_of: Web/API/AudioParam/setValueAtTime ---

{{ APIRef("Web Audio API") }}

Metoda setValueAtTime() interfejsu {{ domxref("AudioParam") }} odpowiada za precyzyjne przyporządkowanie nagłych zmian do wartości {{domxref("AudioParam")}} w określonym czasie względem {{domxref("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 {{ domxref("AudioContext") }} została utworzona jako pierwsza, dzięki czemu dochodzi do zmiany wartości. {{jsxref("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
{{SpecName('Web Audio API', '#widl-AudioParam-setValueAtTime-void-float-value-double-startTime', 'setValueAtTime')}} {{Spec2('Web Audio API')}}  

Zgodność z przeglądarkami

{{CompatibilityTable}}
Cecha Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Wsparcie podstawowe {{CompatChrome(14)}} {{property_prefix("webkit")}} {{CompatVersionUnknown}} 23 {{CompatNo}} 15 {{property_prefix("webkit")}}
22 (unprefixed)
6 {{property_prefix("webkit")}}
Bez prefiksu {{CompatVersionUnknown}} {{CompatVersionUnknown}}        
Cecha Android Android Webview Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Wsparcie podstawowe {{CompatNo}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} 25 1.2 {{CompatNo}} {{CompatNo}} 6 {{property_prefix("webkit")}} {{CompatChrome(28)}} {{property_prefix("webkit")}}
Bez prefiksu {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}           {{CompatVersionUnknown}}

Zobacz również