diff options
author | logic-finder <83723320+logic-finder@users.noreply.github.com> | 2021-08-16 08:49:08 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-16 08:49:08 +0900 |
commit | b06773332f8f14195691c638c82093250e739a32 (patch) | |
tree | 54f84ae618235abdfaf5031be52cdfb22d8becbd /files/ko/web/api/analysernode/getbytetimedomaindata/index.html | |
parent | 4a768bda56346585dd7b079b184682ccc304df2f (diff) | |
download | translated-content-b06773332f8f14195691c638c82093250e739a32.tar.gz translated-content-b06773332f8f14195691c638c82093250e739a32.tar.bz2 translated-content-b06773332f8f14195691c638c82093250e739a32.zip |
[ko] Work for AnalyserNode and its child documents (#1658)
* translate analysernode/index.html
* translate analysernode/analysernode/index.html
* add picture
files/ko/web/api/analysernode/fttaudiodata_en.svg
* translate fftsize/index.html
* fix a paragraph
* translate frequencybincount/index.html
* fix a typo
* translate mindecibels/index.html
* translate maxdecibels/index.html
* change a word
* change a word
* translate smoothingtimeconstant/index.html
* translate getfloatfrequencydata/index.html
* change words
* translate getbytefrequencydata/index.html
* delete a letter
* translate getfloattimedomaindata/index.html
* translate getbytetimedomaindata/index.html
* add a letter
Diffstat (limited to 'files/ko/web/api/analysernode/getbytetimedomaindata/index.html')
-rw-r--r-- | files/ko/web/api/analysernode/getbytetimedomaindata/index.html | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/files/ko/web/api/analysernode/getbytetimedomaindata/index.html b/files/ko/web/api/analysernode/getbytetimedomaindata/index.html new file mode 100644 index 0000000000..58c38f1288 --- /dev/null +++ b/files/ko/web/api/analysernode/getbytetimedomaindata/index.html @@ -0,0 +1,98 @@ +--- +title: AnalyserNode.getByteTimeDomainData() +slug: Web/API/AnalyserNode/getByteTimeDomainData +tags: + - API + - AnalyserNode + - Method + - Reference + - Web Audio API +browser-compat: api.AnalyserNode.getByteTimeDomainData +--- +<p>{{ APIRef("Mountain View APIRef Project") }}</p> + +<p>{{ domxref("AnalyserNode") }} 인터페이스의 <strong><code>getByteTimeDomainData()</code></strong> 메서드는 전달된 {{domxref("Uint8Array")}} (unsigned byte array) 내로 현재 파형, 즉 시간 영역 데이터를 복사합니다.</p> + +<p>만약 배열이 {{domxref("AnalyserNode.fftSize")}}보다 더 적은 요소를 가지고 있다면, 초과한 요소는 탈락됩니다. 만약 이것이 필요한 것보다 더 많은 요소를 가지고 있다면, 초과한 요소는 무시됩니다.</p> + +<h2 id="Syntax">구문</h2> + +<pre class="brush: js">const audioCtx = new AudioContext(); +const analyser = audioCtx.createAnalyser(); +const dataArray = new Uint8Array(analyser.fftSize); // Uint8Array는 fftSize와 같은 길이여야만 합니다 +analyser.getByteTimeDomainData(dataArray); // getByteTimeDomainData()로부터 반환된 데이터로 Uint8Array를 채웁니다 +</pre> + +<h3 id="Parameters">매개변수</h3> + +<dl> + <dt><code>array</code></dt> + <dd>시간 영역 데이터가 복사될 {{domxref("Uint8Array")}}.<br> + 만약 배열이 {{domxref("AnalyserNode.fftSize")}}보다 더 적은 요소를 가지고 있다면, 초과한 요소는 탈락됩니다. 만약 이것이 필요한 것보다 더 많은 요소를 가지고 있다면, 초과한 요소는 무시됩니다.</dd> +</dl> + +<h3 id="Return_value">반환 값</h3> + +<p><strong><code>void</code></strong> | 없음</p> + +<h2 id="Example">예제</h2> + +<p>다음의 예제는 <code>AnalyserNode</code>를 생성하기 위한 {{domxref("AudioContext")}}와 그리고 나서 반복적으로 시간 영역 데이터를 수집하고 현재 오디오 입력의 "오실로스코프 스타일의" 출력을 그리기 위한 {{domxref("window.requestAnimationFrame()","requestAnimationFrame")}}과 {{htmlelement("canvas")}}의 기본 사용을 보여줍니다. 더 완벽한 응용 예제/정보를 보려면 <a href="https://mdn.github.io/voice-change-o-matic/">Voice-change-O-matic</a> 데모를 확인하세요 (관련된 코드를 보려면 <a href="https://github.com/mdn/voice-change-o-matic/blob/gh-pages/scripts/app.js#L128-L205">app.js 라인 128–205</a>를 참고하세요).</p> + +<pre class="brush: js">const audioCtx = new (window.AudioContext || window.webkitAudioContext)(); +const analyser = audioCtx.createAnalyser(); + + ... + +analyser.fftSize = 2048; +const bufferLength = analyser.fftSize; +const dataArray = new Uint8Array(bufferLength); +analyser.getByteTimeDomainData(dataArray); + +// 현재 오디오 소스의 오실로스코프를 그립니다 +function draw() { + drawVisual = requestAnimationFrame(draw); + analyser.getByteTimeDomainData(dataArray); + + canvasCtx.fillStyle = 'rgb(200, 200, 200)'; + canvasCtx.fillRect(0, 0, WIDTH, HEIGHT); + + canvasCtx.lineWidth = 2; + canvasCtx.strokeStyle = 'rgb(0, 0, 0)'; + + const sliceWidth = WIDTH * 1.0 / bufferLength; + let x = 0; + + canvasCtx.beginPath(); + for(var i = 0; i < bufferLength; i++) { + const v = dataArray[i]/128.0; + const y = v * HEIGHT/2; + + if(i === 0) + canvasCtx.moveTo(x, y); + else + canvasCtx.lineTo(x, y); + + x += sliceWidth; + } + + canvasCtx.lineTo(WIDTH, HEIGHT/2); + canvasCtx.stroke(); +}; + +draw(); +</pre> + +<h2 id="Specifications">명세</h2> + +{{Specifications}} + +<h2 id="Browser_compatibility">브라우저 호환성</h2> + +<p>{{Compat}}</p> + +<h2 id="See_also">같이 보기</h2> + +<ul> + <li><a href="/ko/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Web Audio API 사용하기</a></li> +</ul> |