WebAudioを使用して矩形波を鳴らします。
<code><html>
<body>
<button onclick="start()">開始</button><br/>
<script>
var sc = 0;
var ac, on, gn;
function start()
{
ac = new AudioContext();
on = new OscillatorNode( ac );
gn = new GainNode( ac );
play();
on.type = "square"; // 矩形波
gn.gain.value = 0.02; // 音量
on.connect( gn ).connect( ac.destination );
on.start();
setInterval( play, 1000 );
}
function play()
{
let fr = 440 * Math.pow( 2, sc++ / 12 );
document.write( fr + "Hz " );
on.frequency.value = fr; // 音程
}
</script>
</body>
</html>
「開始」ボタン押下でイベントが始まるようにします。セキュリティの都合上、そのページで何かしらのアクションを行なった後でないとAudioContextを作成できません。
戻る back