AudioNode: channelInterpretation property
The channelInterpretation
property of the AudioNode
interface represents an enumerated value describing how input channels are mapped to output channels when the number of inputs/outputs is different. For example, this setting defines how a mono input will be up-mixed to a stereo or 5.1 channel output, or how a quad channel input will be down-mixed to a stereo or mono output.
The property has two options: speakers
and discrete
. These are documented in Basic concepts behind Web Audio API > up-mixing and down-mixing.
Value
The values are documented in Basic concepts behind Web Audio API > up-mixing and down-mixing.
In summary:
-
speakers
-
Use set of "standard" mappings for combinations of common speaker input and outputs setups (mono, stereo, quad, 5.1). For example, with this setting a mono channel input will output to both channels of a stereo output.
-
discrete
-
Input channels are mapped to output channels in order. If there are more inputs that outputs the additional inputs are dropped; if there are fewer than the unused outputs are silent.
Examples
const audioCtx = new AudioContext();
const oscillator = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);
oscillator.channelInterpretation = "discrete";
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
channelInterpretation |
27 |
12 |
25 |
No |
15 |
7 |
≤37 |
27 |
25 |
15 |
7 |
1.5 |
See also