AudioWorkletNode()

AudioWorkletNode() 생성자는 새로운 AudioWorkletNode 객체를 생성하는데, 이는 사용자 정의 오디오 프로세싱을 수행하기 위해 JavaScript 함수를 사용하는 AudioNode를 나타냅니다.

구문

js
var node = new AudioWorkletNode(context, name);
var node = new AudioWorkletNode(context, name, options);

매개변수

context

이 노드가 관련될 BaseAudioContext 인스턴스.

name

이 노드가 기반으로 할 AudioWorkletProcessor의 이름을 나타내는 문자열. 제공된 이름을 가진 프로세서는 AudioWorkletGlobalScope.registerProcessor() 메서드를 사용하여 반드시 맨 먼저 등록되어야 합니다.

options Optional

새로운 노드를 설정하기 위해 다음의 선택적인 속성들 중 0개 또는 그 이상을 포함하는 객체:

참고: 이 객체에 적용된 structured clone algorithm의 결과는 또한 연관된 AudioWorkletProcessor() 생성자로 내부적으로 전달됩니다 — 이는 근본적인 사용자 정의 AudioWorkletProcessor의 커스텀 초기화를 가능케 합니다.

numberOfInputs Optional

numberOfInputs 속성을 초기화할 값. 기본값은 1입니다.

numberOfOutputs Optional

numberOfOutputs 속성을 초기화할 값. 기본값은 1입니다.

outputChannelCount Optional

각 출력에 대한 채널의 숫자를 정의하는 배열. 예를 들자면, outputChannelCount: [n, m] 은 첫번째 출력의 채널 숫자를 n 으로 그리고 두번째 출력을 m 으로 명시합니다. 배열의 길이는 반드시 numberOfOutputs과 일치해야 합니다.

parameterData Optional

key가 사용자 정의 파라미터의 이름이고 value가 이것의 초기 값인 채로, (노드의 parameters 속성에 있는) 이 노드에 있는 사용자 정의 AudioParam 객체의 초기 값을 포함하는 객체.

processorOptions Optional

근본적인 AudioWorkletProcessor의 사용자 정의 초기화를 위해 사용될 수 있는 모든 추가적인 데이터.

반환 값

새롭게 생성된 AudioWorkletNode 인스턴스.

예외

NotSupportedError DOMException (en-US)

명시된 options.outputChannelCount0 또는 현재 구현 지원보다 더 큽니다.

options.numberOfInputsoptions.numberOfOutputs가 둘 다 0입니다.

IndexSizeError DOMException (en-US)

options.outputChannelCount 배열의 길이가 options.numberOfOutputs와 일치하지 않습니다.

사용 일람

각기 다른 options 매개변수 값들은 다음의 영향을 가질 수 있습니다.

만약 입력의 수와 출력의 수가 둘 다 0으로 설정된다면, NotSupportedError가 발생될 것이고 노드 구성 과정은 중단됩니다. 만약 outputChannelCount 배열의 길이가 numberOfOutputs과 일치하지 않다면, IndexSizeError DOMException (en-US)이 발생할 것입니다.

만약 outputChannelCount이 명시되지 않았고, numberOfInputsnumberOfOutputs가 모두 1이라면, AudioWorkletNode의 초기 채널 카운트는 1으로 설정됩니다. 이것은 계산된 채널의 수로 동적으로 변화하는 출력 채널 카운트를 변화시키는 효과를 가지는데, 이는 입력의 채널 카운트와 AudioNode 속성 channelCountMode의 현재 설정에 기반합니다.

그렇지 않으면, 만약 outputChannelCount이 제공되고 만약 numberOfInputsnumberOfOutputs의 값이 둘 다 1이라면, 오디오 worklet 노드의 채널 카운트는 outputChannelCount의 값으로 설정됩니다. 그렇지 않으면, 출력 채널의 집합에 있는 각 채널의 채널 카운트는 해당하는 outputChannelCount 배열의 값과 일치되도록 설정됩니다.

예제

사용자 정의 오디오 프로세싱을 시연하는 완전한 예제는 AudioWorkletNode 페이지에서 찾아보실 수 있습니다.

명세

Specification
Web Audio API
# dom-audioworkletnode-audioworkletnode

브라우저 호환성

BCD tables only load in the browser

같이 보기