ScriptProcessorNode
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
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()。
规范
| 规范 |
|---|
| Web Audio API # dom-scriptprocessornode-buffersize |
浏览器兼容性
加载中…