diff options
author | Cor <83723320+logic-finder@users.noreply.github.com> | 2021-12-12 19:13:25 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-12 19:13:25 +0900 |
commit | 42b3a2d3eab374a5ea1ff2306c8f73353e6e86ee (patch) | |
tree | fb6916272ba04afafd2c43a7f5c6ca4ce74444aa /files/ko | |
parent | 4f2b8a39831984fd96f4bbd20132bfda7d9a285a (diff) | |
download | translated-content-42b3a2d3eab374a5ea1ff2306c8f73353e6e86ee.tar.gz translated-content-42b3a2d3eab374a5ea1ff2306c8f73353e6e86ee.tar.bz2 translated-content-42b3a2d3eab374a5ea1ff2306c8f73353e6e86ee.zip |
[ko] Translation done of `AudioParam.setValueCurveAtTime()` document (#3076)
* translate the below document.
AudioParam.setValueCurveAtTime
* modification
Diffstat (limited to 'files/ko')
-rw-r--r-- | files/ko/web/api/audioparam/setvaluecurveattime/index.md | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/files/ko/web/api/audioparam/setvaluecurveattime/index.md b/files/ko/web/api/audioparam/setvaluecurveattime/index.md new file mode 100644 index 0000000000..eeb37ca42b --- /dev/null +++ b/files/ko/web/api/audioparam/setvaluecurveattime/index.md @@ -0,0 +1,120 @@ +--- +title: AudioParam.setValueCurveAtTime() +slug: Web/API/AudioParam/setValueCurveAtTime +tags: + - API + - Audio + - AudioParam + - Method + - Reference + - Web + - Web Audio + - Web Audio API + - setValueCurveAtTime +browser-compat: api.AudioParam.setValueCurveAtTime +--- +{{APIRef("Web Audio API")}} + +{{domxref("AudioParam")}} 인터페이스의 **`setValueCurveAtTime()`** 메서드는 파라미터의 값이 값들의 리스트에 의해 정의되는 커브를 따라 변화하도록 예정합니다. + +이 커브는 부동점 값들의 배열에서 정의되는 연속되는 값들 사이의 선형 보간인데, 이는 `startTime` 에 시작하는 주어진 구간과 특정한 기간에 맞도록 조정됩니다. + +## 구문 + +```js +var paramRef = param.setValueCurveAtTime(values, startTime, duration); +``` + +### 매개변수 + +- `values` + - : 명시된 `duration` 을 따라 {{domxref("AudioParam")}}이 변화할 값 커브를 나타내는 부동점 number들의 배열. 이 배열에 있는 모든 값은 반드시 유한한 숫자여야 합니다. 만약 값이 `NaN`, `Infinity`, `-Infinity` 라면, `TypeError` 예외가 발생합니다. +- `startTime` + - : {{ domxref("AudioContext") }}가 처음 생성된 이후 값의 변화가 일어날 시간 (초 단위로 표현됨) 을 나타내는 double. 만약 이 값이 {{domxref("BaseAudioContext/currentTime", "AudioContext.currentTime")}}보다 작다면, 이 값은 `currentTime` 으로 맞춰집니다. +- `duration` + - : 파라미터의 `value` 가 명시된 커브를 따라 변화하는 총 시간 (초 단위로 표현됨) 을 나타내는 double. 명시된 값들은 이 기간을 따라 동일하게 간격이 맞춰집니다. + +### 반환 값 + +이 `AudioParam` 객체에 대한 참조. 이 인터페이스의 몇몇 오래된 브라우저 구현은 `undefined` 를 반환합니다. + +### 예외 + +- `InvalidStateError` {{domxref("DOMException")}} + - : `values` 의 명시된 배열이 원소를 2개보다 적게 가지고 있을 때 발생됩니다. +- `RangeError` {{domxref("DOMException")}} + - : 명시된 `startTime` 이 음수 혹은 유한하지 않은 값이거나, `duration` 이 유한하지 않고 정확히 양수인 수가 아니면 발생됩니다. +- `TypeError` {{domxref("DOMException")}} + - : `values` 배열에 있는 값들 중 한 개 이상의 값이 유한하지 않으면 발생됩니다. 유한하지 않은 값이란 `NaN`, `Infinity`, `-Infinity` 입니다. + +## 사용 일람 + +파라미터의 값이 커브를 따라서 종료되었을 때, 파라미터의 값은 `values` 매개변수에서 명시된 값들의 집합의 마지막 값과 일치하도록 보장됩니다. + +> **참고:** Web Audio API의 몇몇 이른 구현은 이것이 사실임을 +> 보장하지 않는데, 이는 예기치 않은 결과를 유발합니다. + +## 예제 + +이 예제는 하나의 버튼을 가진 미디어 소스를 가지고 있습니다 (소스 코드는 [webaudio-examples +repo](https://github.com/mdn/webaudio-examples/blob/master/audio-param/index.html)에서 볼 수 있고, [작동 예제](https://mdn.github.io/webaudio-examples/audio-param/)도 볼 수 있습니다). 이 버튼이 눌렸을 때, `setValueCurveAtTime()` 이 사용되어 gain 값을 waveArray 배열에 포함된 값들 사이에서 변화시킵니다. + +```js +// 오디오 컨텍스트를 생성합니다 +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 valueCurve = document.querySelector('.value-curve'); + +// 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이 발생했을 때 무언가를 하기 위해 버튼을 설정합니다 + +var waveArray = new Float32Array(9); +waveArray[0] = 0.5; +waveArray[1] = 1; +waveArray[2] = 0.5; +waveArray[3] = 0; +waveArray[4] = 0.5; +waveArray[5] = 1; +waveArray[6] = 0.5; +waveArray[7] = 0; +waveArray[8] = 0.5; + +valueCurve.onclick = function() { + gainNode.gain.setValueCurveAtTime(waveArray, audioCtx.currentTime, 2); +} +``` + +## 명세서 + +{{Specifications}} + +## 브라우저 호환성 + +{{Compat}} + +Chrome 46 이전 버전은 선형 보간법 대신 최근린 내삽법을 사용합니다. + +## 같이 보기 + +- [Web Audio API 사용하기](/ko/docs/Web/API/Web_Audio_API/Using_Web_Audio_API) |