AudioNode: disconnect() 方法

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

AudioNode 接口的 disconnect() 方法允许你断开从调用该方法的节点发出的一个或多个节点的连接。

语法

js
disconnect()

参数

disconnect() 方法有几种不同的形式,它们接受不同的参数组合来控制要断开连接的节点。如果不提供任何参数,将断开所有传出连接。

destination 可选

一个 AudioNodeAudioParam,用于指定要断开连接的节点。如果此值为 AudioNode,则将断开与单个节点的连接,而任何其他可选参数(output 和/或 input)将进一步限制要断开连接的输入和/或输出。如果此值为 AudioParam,则终止与该 AudioParam 的连接,并且该节点对计算参数的贡献将在更改生效后变为 0。

output 可选

一个描述当前 AudioNode 的哪个输出将被断开连接的索引。索引编号根据输出通道的数量定义(参见 音频通道)。

input 可选

一个描述要断开连接的指定目标 AudioNode 的哪个输入索引。索引编号根据输入通道的数量定义(参见 音频通道)。

返回值

无(undefined)。

异常

IndexSizeError DOMException

如果指定的 inputoutput 值无效,指向一个不存在的节点或超出允许范围,则会抛出此异常。

InvalidAccessError DOMException

如果调用 disconnect() 的节点未连接到指定的 destination 节点,则会抛出此异常。

示例

js
const audioCtx = new AudioContext();

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

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

gainNode.disconnect();

规范

规范
Web Audio API
# dom-audionode-disconnect

浏览器兼容性

另见