OscillatorNode
OscillatorNode
接口表示周期性波形,例如正弦波。它是一个 AudioScheduledSourceNode
音频处理模块,用于创建给定波形的指定频率 - 实际上,这是一个恒定的音调。
输入数量 | 0 |
---|---|
输出数量 | 1 |
通道计数模式 | 最大值 |
通道数 | 2 (在默认计数模式中未使用) |
通道解释 | 扬声器 |
构造函数
OscillatorNode()
-
创建一个新的
OscillatorNode
对象实例,可以选择提供一个对象,为节点的 属性 指定默认值。或者,您可以使用BaseAudioContext.createOscillator()
工厂方法;请参阅 创建 AudioNode。
实例属性
还继承了其父级 AudioScheduledSourceNode
的属性。
OscillatorNode.frequency
-
一个 a 速率
AudioParam
,表示以赫兹为单位的振荡频率(尽管返回的AudioParam
是只读的,但它表示的值不是)。默认值为 440 赫兹(标准的 A 音)。 OscillatorNode.detune
-
一个 a 速率
AudioParam
,表示以音分表示的振荡失谐(尽管返回的AudioParam
是只读的,但它表示的值不是)。默认值为 0。 OscillatorNode.type
-
一个字符串,指定要播放的波形的形状;这可以是一些标准值之一,或者
custom
以使用PeriodicWave
描述自定义波形。不同的波形会产生不同的音调。标准值为"sine"
、"square"
、"sawtooth"
、"triangle"
和"custom"
。默认值为"sine"
。
实例方法
还继承了其父级 AudioScheduledSourceNode
的方法。
OscillatorNode.setPeriodicWave()
-
设置一个
PeriodicWave
,该波形描述一个周期性波形,用于代替标准波形之一;调用此方法会将type
设置为custom
。 AudioScheduledSourceNode.start()
-
指定开始播放音调的确切时间。
AudioScheduledSourceNode.stop()
-
指定停止播放音调的时间。
事件
还继承了其父级 AudioScheduledSourceNode
的事件。
示例
以下示例显示了 AudioContext
的基本用法,用于创建振荡器节点并在其上开始播放音调。有关应用示例,请查看我们的 暴力电子琴演示(请参阅 app.js 获取相关代码)。
// create web audio api context
const audioCtx = new AudioContext();
// create Oscillator node
const oscillator = audioCtx.createOscillator();
oscillator.type = "square";
oscillator.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator.connect(audioCtx.destination);
oscillator.start();
规范
规范 |
---|
Web Audio API # OscillatorNode |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。