ここでは
私が調べたことについての備忘録です。
内容は徐々に増えると思います。
内容について、
調べたことをメモに近い形で記述していきます。
検証が出来ていないことも多々あると思います。
認識の間違いなどあればご指摘、ご教授いただけると幸いです。
WebAudioApiについて
WebAudioApiとは
現在の認識は、
"JavaScriptを用いて、HTMLが持つ既存のAudio要素を細かく操作する技術"
といった感じ。
audioContextインスタンス
audioContextはブラウザ上でオーディオデータを扱う際に始めに生成するべきインスタンス
audioContextを生成することで、ブラウザ上のオーディオデータへのアクセスが容易になると言うイメージです。
audioContextを利用する際の仕組みというか、流れの部分には、
input → 処理 → output
という流れがあるということ。
inputは、以下のようなものかと思われる
・自身のPC上のファイル
・生成するオシレーター音源
・URLから取得してくるファイル
取得したオーディオデータを、処理(フィルターをかけたり)して、
outputに接続すると音声が出力される
といった感じかと。
JavaScriptでのクラス
WebAudioApiを扱うにあたって、そもそもJavaScript(以下"JS")の知識が必要と思われました。
わかりやすそうなコードを参考にさせていただき、読み解く中で、
最初にぶち当たったのが、class と constructerの記述。
クラスについては、Rubyなど、オブジェクト指向と呼ばれる言語で利用するもので、
"車でいうところの設計図" "人間で言うところの個人と言う概念"
のような例えをされると思います。
扱いたいデータで、「同じ属性で何種類も出現する可能性があるもの」に使うのかな 程度の認識です。
正直、筆者はクラスの使いどころが曖昧である。
で。
JSではclass ~ でクラスを用意して、
classの中で、constructor()メソッドを定義、
classがnewされる際に、constructor()で定義したデータの属性?をインスタンスのデータとして取得してインスタンスを利用していく
と言う流れになるのかなと思う。
余談と言うか、メモ
JSではclassと言う機能はなく、「クラスっぽい書き方ができるよ。」って感じ。らしい。
JSではclassと言う機能に、クラスっぽい機能が働くようなコードが親にある。それをclassってのにまとめてるだけ。
なので、物によってはclass使うよりサッパリかけることもある。 のかな?