LoginSignup
1
0

More than 3 years have passed since last update.

WebAudioAPI調べ中

Last updated at Posted at 2021-02-21

ここでは

私が調べたことについての備忘録です。
内容は徐々に増えると思います。

内容について、
調べたことをメモに近い形で記述していきます。
検証が出来ていないことも多々あると思います。
認識の間違いなどあればご指摘、ご教授いただけると幸いです。

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使うよりサッパリかけることもある。 のかな?

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0