--- 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.
var AudioParam = AudioParam.setValueAtTime(value, startTime)
AudioParam
przyporządkuje się do podanego czasu.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.Odnośnik do obiektu AudioParam
. W niektórych przeglądarkach wprowadzenie tego interfejsu zaskutkuje zwróceniem pustego typu danych (void
).
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);
}
Specifikacja | Status | Komentarz |
---|---|---|
{{SpecName('Web Audio API', '#widl-AudioParam-setValueAtTime-void-float-value-double-startTime', 'setValueAtTime')}} | {{Spec2('Web Audio API')}} |
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}} |