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 2015ë 7ì.
AudioParam ì¸í°íì´ì¤ì setValueAtTime() ë©ìëë AudioContext.currentTimeì¼ë¡ 측ì ë ì ë°í ìê°ì AudioParam ê°ì ì¦ê°ì ì¸ ë³í를 ìì í©ëë¤. ìë¡ì´ ê°ì value 매ê°ë³ìì 주ì´ì§ëë¤.
구문
var AudioParam = AudioParam.setValueAtTime(value, startTime);
매ê°ë³ì
- value
-
AudioParamì´ ì£¼ì´ì§ ìê°ì ë³íìí¬ ê°ì ëíë´ë ë¶ëì number.
- startTime
-
AudioContextê° ì²ì ìì±ë ì´í ê°ì ë³íê° ë°ìí ìê° (ì´ë¡ ííí¨) ì ëíë´ë double. ë§ì½ ì´ ê°ì´ ììë¼ë©´TypeErrorê° ë°ìí©ëë¤.
ë°í
ì´ AudioParam ê°ì²´ì ëí 참조. ëªëª ë¸ë¼ì°ì ìì ì´ ì¸í°íì´ì¤ì ì¤ëë 구íì void를 ë°íí©ëë¤.
ìì
ì´ ê°ë¨í ìì ë ë ê°ì ì ì´ ë²í¼ì ê°ì§ 미ëì´ ìì ìì¤ ê¸°ë¥ì ê°ì¶ê³ ììµëë¤ (ìì¤ ì½ëë webaudio-examples
repoìì ë³¼ ì ìê³ , ìë ìì ë ë³¼ ì ììµëë¤). ë²í¼ì´ ëë ¸ì ë, currGain ë³ìë 0.25ë§í¼ ì¦ê°íê±°ë ê°ìíê³ , ê·¸ë¦¬ê³ ëì setValueAtTime() ë©ìëê° ì¬ì©ëì´ ì§ê¸ì¼ë¡ë¶í° 1ì´ íì (audioCtx.currentTime + 1) gain ê°ì currGain ê³¼ ê°ê² ì¤ì í©ëë¤.
// ì¤ëì¤ ì»¨í
ì¤í¸ë¥¼ ìì±í©ëë¤
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
// ìì 를 ìí 기본 ë³ì를 ì¤ì í©ëë¤
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");
// MediaElementAudioSourceNode를 ìì±í©ëë¤
// HTMLMediaElement를 ë
¸ë ë´ë¡ ì ë¬í©ëë¤
var source = audioCtx.createMediaElementSource(myAudio);
// gain ë
¸ë를 ìì±íê³ gain ê°ì 0.5ë¡ ì¤ì í©ëë¤
var gainNode = audioCtx.createGain();
gainNode.gain.value = 0.5;
var currGain = gainNode.gain.value;
// AudioBufferSourceNode를 gainNodeì ì°ê²°íê³
// gainNode를 destinationì ì°ê²°í©ëë¤
source.connect(gainNode);
gainNode.connect(audioCtx.destination);
// 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 > |