Movatterモバイル変換


[0]ホーム

URL:


  1. 개발자를 위한 웹 기술
  2. Web API
  3. AnalyserNode
  4. AnalyserNode.getByteTimeDomainData()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

AnalyserNode.getByteTimeDomainData()

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월⁩.

AnalyserNode 인터페이스의getByteTimeDomainData() 메서드는 전달된Uint8Array (unsigned byte array) 내로 현재 파형, 즉 시간 영역 데이터를 복사합니다.

만약 배열이AnalyserNode.fftSize보다 더 적은 요소를 가지고 있다면, 초과한 요소는 탈락됩니다. 만약 이것이 필요한 것보다 더 많은 요소를 가지고 있다면, 초과한 요소는 무시됩니다.

구문

js
const audioCtx = new AudioContext();const analyser = audioCtx.createAnalyser();const dataArray = new Uint8Array(analyser.fftSize); // Uint8Array는 fftSize와 같은 길이여야만 합니다analyser.getByteTimeDomainData(dataArray); // getByteTimeDomainData()로부터 반환된 데이터로 Uint8Array를 채웁니다

매개변수

array

시간 영역 데이터가 복사될Uint8Array.만약 배열이AnalyserNode.fftSize보다 더 적은 요소를 가지고 있다면, 초과한 요소는 탈락됩니다. 만약 이것이 필요한 것보다 더 많은 요소를 가지고 있다면, 초과한 요소는 무시됩니다.

반환 값

void | 없음

예제

다음의 예제는AnalyserNode를 생성하기 위한AudioContext와 그리고 나서 반복적으로 시간 영역 데이터를 수집하고 현재 오디오 입력의 "오실로스코프 스타일의" 출력을 그리기 위한requestAnimationFrame<canvas>의 기본 사용을 보여줍니다. 더 완벽한 응용 예제/정보를 보려면Voice-change-O-matic 데모를 확인하세요 (관련된 코드를 보려면app.js 라인 128–205를 참고하세요).

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();

명세

Specification
Web Audio API
# dom-analysernode-getbytetimedomaindata

브라우저 호환성

같이 보기

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp