説明
Web Audio APIを使ってラの音(440Hz)を再生するにはnew AudioContext()としてオーディオコンテキストを生成します。オーディオコンテキストには一定の周波数を発生させるcreateOscillator()メソッドがあります。createOscillator()メソッドによって返されるオブジェクトの各プロパティを設定することでラの音を出すことができます。
まず、frequencyオブジェクトのvalueプロパティに周波数を設定します。ラの音の場合440を入れます。次に波形の種類を指定します。"sine"なら正弦波、"square"なら矩形波、"sawtooth"ならのこぎり波、"triangle"なら三角波になります。次にconnect()メソッドを使って出力対象を指定します。あとはstart()メソッドを使って再生します。start()メソッドのパラメーターには再生開始秒数を指定します。
なお、以下のサンプルをFx0で実行すると最初の0.5秒ほど音がぶつ切れ状態で再生されてしまいます。パソコン版のFirefoxでは問題なく再生されます。
ポイントとなるコード部分
var context = new AudioContext(); // Audioコンテキストを作成
osc = context.createOscillator(); // オシレーター生成
osc.frequency.value = 440; // 440Hz
osc.type = "square"; // 矩形波にする
osc.connect(context.destination); // 接続する
osc.start(0); // 0秒から再生