ScriptProcessorNode
已弃用: 此功能不再推荐使用。虽然某些浏览器可能仍然支持它,但它可能已经从相关的 Web 标准中删除,或者正在被删除过程中,或者只是为了兼容性而保留。请避免使用它,并尽可能更新现有代码;请参见此页面底部的 兼容性表,以指导您的决策。请注意,此功能可能随时停止工作。
ScriptProcessorNode
接口允许使用 JavaScript 生成、处理或分析音频。
注意:此功能已由 AudioWorklets 和 AudioWorkletNode
接口取代。
ScriptProcessorNode
接口是一个 AudioNode
音频处理模块,它链接到两个缓冲区,一个包含输入音频数据,一个包含处理后的输出音频数据。每次输入缓冲区包含新数据时,都会向对象发送一个事件,该事件实现 AudioProcessingEvent
接口,并且事件处理程序在它用数据填充了输出缓冲区后终止。
输入和输出缓冲区的大小在创建时定义,当 BaseAudioContext.createScriptProcessor
方法被调用时(两者都由 BaseAudioContext.createScriptProcessor
的 bufferSize
参数定义)。缓冲区大小必须是 256
到 16384
之间的 2 的幂,即 256
、512
、1024
、2048
、4096
、8192
或 16384
。较小的数字会降低延迟,但较大的数字可能需要避免音频断裂和故障。
如果未定义缓冲区大小(推荐的做法),则浏览器将选择其启发式算法认为合适的缓冲区大小。
输入数量 | 1 |
---|---|
输出数量 | 1 |
通道计数模式 | "max" |
通道计数 | 2 (在默认计数模式中未使用) |
通道解释 | "speakers" |
实例属性
继承自其父级 AudioNode
的属性.
ScriptProcessorNode.bufferSize
只读 已弃用-
返回一个整数,表示输入和输出缓冲区大小。它的值可以是
256
到16384
范围内的 2 的幂值。
实例方法
没有特定方法;继承自其父级 AudioNode
的方法.
事件
使用 addEventListener()
或通过将事件侦听器分配给此接口的 oneventname
属性来侦听这些事件
audioprocess
已弃用-
当
ScriptProcessorNode
的输入缓冲区准备好进行处理时触发。还可以通过onaudioprocess
事件处理程序属性获得。
示例
请参见 BaseAudioContext.createScriptProcessor()
以获取示例代码。
规范
自 2014 年 8 月 29 日 Web 音频 API 规范 发布以来,此功能已弃用。它不再有望成为标准。
它已被 AudioWorklets 和 AudioWorkletNode
接口取代。
浏览器兼容性
BCD 表格仅在浏览器中加载