ScriptProcessorNode

已弃用: 此功能不再推荐使用。虽然某些浏览器可能仍然支持它,但它可能已经从相关的 Web 标准中删除,或者正在被删除过程中,或者只是为了兼容性而保留。请避免使用它,并尽可能更新现有代码;请参见此页面底部的 兼容性表,以指导您的决策。请注意,此功能可能随时停止工作。

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() 以获取示例代码。

规范

自 2014 年 8 月 29 日 Web 音频 API 规范 发布以来,此功能已弃用。它不再有望成为标准。

它已被 AudioWorkletsAudioWorkletNode 接口取代。

浏览器兼容性

BCD 表格仅在浏览器中加载

参见