AudioNode.disconnect()

The disconnect() method of the AudioNode interface lets you disconnect one or more nodes from the node on which the method is called.

Syntax

AudioNode.disconnect();

AudioNode.disconnect(output);

AudioNode.disconnect(destination);

AudioNode.disconnect(destination, output);

AudioNode.disconnect(destination, output, input);

Return value

undefined

Parameters

There are several versions of the disconnect() method, which accept different combinations of parameters to control which nodes to disconnect from. If no parameters are provided, all outgoing connections are disconnected.

destination Optional
An AudioNode or AudioParam specifying the node or nodes to disconnect from. If this value is an AudioNode, a single node is disconnected from, with any other, optional, parameters (output and/or input) further limiting which inputs and/or outputs should be disconnected. If this value is an AudioParam, then the connection to that AudioParam is terminated, and the node's contributions to that computed parameter become 0 going forward once the change takes effect. If no matching connection is found, an InvalidAccessError exception is thrown.
output Optional
An index describing which output from the current AudioNode is to be disconnected. The index numbers are defined according to the number of output channels (see Audio channels). If this parameter is out-of-bound, an IndexSizeError exception is thrown.
input Optional
An index describing which input into the specified destination AudioNode is to be disconnected. The index numbers are defined according to the number of input channels (see Audio channels).  If this parameter is out-of-bound, an IndexSizeError exception is thrown.

Exceptions

IndexSizeError
A value specified for input or output is invalid, referring to a node which doesn't exist or outside the permitted range.
InvalidAccessError
The node on which disconnect() was called isn't connected to the specified destination node.

Example

var AudioContext = window.AudioContext || window.webkitAudioContext;

var audioCtx = new AudioContext();

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

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

gainNode.disconnect();

Specifications

Specification Status Comment
Web Audio API
The definition of 'disconnect' in that specification.
Working Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support 14Edge Full support 12Firefox Full support 25IE No support NoOpera Full support 15Safari Full support 6WebView Android Full support YesChrome Android Full support 18Edge Mobile Full support YesFirefox Android Full support 26Opera Android Full support 15Safari iOS ? Samsung Internet Android Full support Yes
destination parameterChrome Full support 43Edge Full support YesFirefox No support NoIE No support NoOpera ? Safari No support NoWebView Android Full support 43Chrome Android Full support 43Edge Mobile Full support YesFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android Full support 4.0
input parameterChrome Full support 43Edge Full support YesFirefox No support NoIE No support NoOpera ? Safari No support NoWebView Android Full support 43Chrome Android Full support 43Edge Mobile Full support YesFirefox Android No support NoOpera Android ? Safari iOS ? Samsung Internet Android Full support 4.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

See also

Document Tags and Contributors

Last updated by: fscholz,