在此示例中,我们展示了如何生成一个简单的正弦波,并将其输出到用户的扬声器/耳机上。
let audioContext = new (window.AudioContext || window.webkitAudioContext)();
let sourceNode = audioContext.createOscillator();
sourceNode.type = 'sine';
sourceNode.frequency.value = 261.6;
sourceNode.detune.value = 0;
//将信号源连接到扬声器
sourceNode.connect(audioContext.destination);
//使声音可听到100毫秒
sourceNode.start();
window.setTimeout(function() { sourceNode.stop(); }, 100);上面的变量的start和stop方法sourceNode都有一个可选参数when,用于指定启动或停止之前要等待的秒数。
因此,停止声音的另一种方法是:
sourceNode.start(); sourceNode.stop(0.1);
type可以将振荡器节点的参数设置为以下任意值:
正弦(默认)
广场
锯齿
训练
风俗习惯
自定义波形是PeriodicWaves并且可以使用该AudioContext.createPeriodicWave方法创建。