振荡器节点:type 属性

基线 广泛可用

此功能已得到充分确立,并且可以在许多设备和浏览器版本上运行。它已在自以下日期起的所有浏览器中可用 2021 年 4 月.

type 属性是 OscillatorNode 接口的一部分,它指定振荡器将输出哪种形状的 波形。有几种常见的波形可用,以及指定自定义波形形状的选项。波形的形状将影响产生的音调。

指定振荡器波形形状的字符串。可用的不同值为

sine

正弦波。这是默认值。

square

方波,占空比为 0.5;也就是说,信号在每个周期的二分之一时间内为“高电平”。

sawtooth

锯齿波

triangle

三角波

custom

自定义波形。您永远不会手动将 type 设置为 custom;而是使用 setPeriodicWave() 方法提供表示波形的数据。这样做会自动将 type 设置为 custom

异常

InvalidStateError DOMException

如果指定了值 custom,则抛出此异常。要设置自定义波形,只需调用 setPeriodicWave()。这样做会自动为您设置类型。

示例

以下示例展示了 AudioContext 的基本用法来创建振荡器节点。有关应用示例,请查看我们的 暴力琴瑟演示查看 app.js 以获取相关代码)。

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.start();

规范

规范
Web 音频 API
# dom-oscillatornode-type

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅