AudioNode: channelCountMode property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

The channelCountMode property of the AudioNode interface represents an enumerated value describing the way channels must be matched between the node's inputs and outputs.

Value

The possible values of the channelCountMode enumerated value, and their meanings are:

max

The number of channels is equal to the maximum number of channels of all connections. In this case, channelCount is ignored and only up-mixing happens.

The following AudioNode children default to this value: GainNode, DelayNode, ScriptProcessorNode, BiquadFilterNode, WaveShaperNode.

clamped-max

The number of channels is equal to the maximum number of channels of all connections, clamped to the value of channelCount.

The following AudioNode children default to this value: PannerNode, ConvolverNode, DynamicsCompressorNode

explicit

The number of channels is defined by the value of channelCount.

The following AudioNode children default to this value: AudioDestinationNode, AnalyserNode, ChannelSplitterNode, ChannelMergerNode

Note: In older versions of the spec, the default for a ChannelSplitterNode was max.

Examples

js
const audioCtx = new AudioContext();

const oscillator = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();

oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);

oscillator.channelCountMode = "explicit";

Specifications

Specification
Web Audio API
# dom-audionode-channelcountmode

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
channelCountMode

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also