diff --git a/docs/index.html b/docs/index.html index 110b639..f26f9d3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -336,6 +336,41 @@
+ 現実世界の音響機器では, 入力と出力, あるいは, 音響変化も接続することで, その機能を果たします. 例えば, エレキギターであれば, + サウンド入力を担うギターとサウンド出力を担うアンプ (厳密にはスピーカー) は, 単体ではその機能を果たしません. + シールド線などで接続することによって機能します. +
+
+ このことは, Web Audio API の世界も同じです. (AudioContext
インスタンスを生成して,) サウンド入力点となる
+ AudioNode
のサブクラスのインスタンス (先ほどのコード例だと, OscillatorNode
インスタンス) と, サウンド出力点となる
+ AudioDestinationNode
インスタンスを生成しただけではその機能を果たしません. 少なくとも,
+ サウンド入力点と出力点を接続する処理が必要となります. さらに, Web Audio API が定義する様々なノードと接続することで, 高度なオーディオ処理を実現する
+ API として真価を発揮します.
+
+ Web Audio API のアーキテクチャは, 現実世界における音響機器のアーキテクチャと似ています. このことは, Web Audio API + の理解を進めていくとなんとなく実感できるようになると思います. +
+
+ Web Audio APIにおいて「接続」の役割を担うのが, AudioNode
がもつ connect
メソッドです. 実装としては,
+ AudioNode
サブクラスのインスタンスの, connect メソッドを呼び出します. このメソッドの第 1 引数には, 接続先となる
+ AudioNode
のサブクラスのインスタンスを指定します.
+
// Autoplay Policy は解除されている状態
+
+const context = new AudioContext();
+
+const oscillator = context.createOscillator();
+
+// OscillatorNode (Input) -> AudioDestinationNode (Output)
+oscillator.connect(context.destination);
+