ScriptProcessorNode

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

ScriptProcessorNode 接口允许使用 JavaScript 生成、处理或分析音频。

EventTarget AudioNode ScriptProcessorNode

注意:此功能已被 AudioWorkletsAudioWorkletNode 接口取代。

ScriptProcessorNode 接口是一个 AudioNode 音频处理模块,它连接到两个缓冲区:一个包含输入音频数据,一个包含处理后的输出音频数据。每次输入缓冲区包含新数据时,都会向该对象发送一个实现 AudioProcessingEvent 接口的事件,而事件处理程序在用数据填满输出缓冲区后终止。

The ScriptProcessorNode stores the input in a buffer, send the audioprocess event. The EventHandler takes the input buffer and fill the output buffer which is sent to the output by the ScriptProcessorNode.

输入和输出缓冲区的长度在创建时定义,通过调用 BaseAudioContext.createScriptProcessor 方法(两者都由 BaseAudioContext.createScriptProcessorbufferSize 参数定义)。缓冲区大小必须是 25616384 之间的 2 的幂,即 256512102420484096819216384。较小的值会降低延迟,但可能需要较大的值来避免音频中断和故障。

如果不定义缓冲区大小(这是推荐的做法),浏览器将选择一个它认为合适的启发式值。

输入数量 1
输出数量 1
通道计数模式 "max"
声道数 2 (在默认计数模式下未使用)
通道解释 “speakers”

实例属性

继承自其父级 AudioNode 的属性.

ScriptProcessorNode.bufferSize 只读 已弃用

返回一个整数,表示输入和输出缓冲区的大小。其值可以是 25616384 范围内的 2 的幂值。

实例方法

没有特定方法;继承其父级 AudioNode 的方法。.

事件

使用 addEventListener() 或通过将事件监听器分配给此接口的 oneventname 属性来监听这些事件。

audioprocess 已弃用

ScriptProcessorNode 的输入缓冲区准备好进行处理时触发。也可通过 onaudioprocess 事件处理程序属性访问。

示例

有关示例代码,请参阅 BaseAudioContext.createScriptProcessor()

规范

规范
Web Audio API
# dom-scriptprocessornode-buffersize

浏览器兼容性

另见