微信小程序插件:不支持
功能描述
创建一个WaveShaperNode
微信小程序插件:不支持
创建一个ScriptProcessorNode
缓冲区大小,以样本帧为单位
用于指定输入node的声道的数量
用于指定输出node的声道的数量
示例代码
let audioCtx = wx.createWebAudioContext()
const sampleSize = 4096
audioCtx.createScriptProcessor(sampleSize, 1, 1)
微信小程序插件:不支持
创建一个PeriodicWaveNode
一系列余弦项(传统上称为A项)
一系列正弦项(传统上称为B项)
一个字典对象,用于指定是否禁用规范化(默认启用规范化)
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| disableNormalization | boolean | 否 | 如果指定为true则禁用标准化,默认为false |
real和imag数组必须拥有一样的长度,否则抛出错误
const real = new Float32Array(2)
const imag = new Float32Array(2)
real[0] = 0
imag[0] = 0
real[1] = 1
imag[1] = 0
const waveNode = audioContext.createPeriodicWave(real, imag, {disableNormalization: true})
微信小程序插件:不支持
创建一个IIRFilterNode
一个浮点值数组,用来指定IIR滤波器传递函数的前馈(分子)系数。
一个浮点值数组,用来指定IIR滤波器传递函数的反馈(分母)系数。
let lowPassCoefs = [
{
frequency: 200,
feedforward: [0.00020298, 0.0004059599, 0.00020298],
feedback: [1.0126964558, -1.9991880801, 0.9873035442]
},
{
frequency: 500,
feedforward: [0.0012681742, 0.0025363483, 0.0012681742],
feedback: [1.0317185917, -1.9949273033, 0.9682814083]
},
{
frequency: 1000,
feedforward: [0.0050662636, 0.0101325272, 0.0050662636],
feedback: [1.0632762845, -1.9797349456, 0.9367237155]
},
{
frequency: 5000,
feedforward: [0.1215955842, 0.2431911684, 0.1215955842],
feedback: [1.2912769759, -1.5136176632, 0.7087230241]
}
]
const feedForward = lowPassCoefs[filterNumber].feedforward
const feedBack = lowPassCoefs[filterNumber].feedback
const iirFilter = audioContext.createIIRFilter(feedForward, feedBack)
微信小程序插件:不支持
创建一个 DynamicsCompressorNode(动态压缩节点)
示例代码
let audioCtx = wx.createWebAudioContext()
let compressor = audioCtx.createDynamicsCompressor()
compressor.threshold.value = -50
compressor.knee.value = 40
compressor.ratio.value = 12
compressor.attack.value = 0
compressor.release.value = 0.25
微信小程序插件:不支持
创建一个延迟节点(DelayNode)
最大延迟时间
示例代码
let audioCtx = wx.createWebAudioContext()
const delayNode = audioCtx.createDelay(5)