読者です 読者をやめる 読者になる 読者になる

みかづきブログ その3

3ヶ月つづけてみました。

Web Audio API の基本の基 その2 (gainをつかって音量を変更する)

kimizuka.hatenablog.com

前回 は単純に source と destination を繋いだだけでしたが、
今回は途中にgainを挟んでボリュームを変更してみます。

f:id:kimizuka:20160630233539j:plain

JavaScript

var request = new XMLHttpRequest(),
    audioCtx     = new AudioContext(),
    gain    = audioCtx.createGain(); // gainを追加

gain.connect(audioCtx.destination); // gainをdestinationに繋ぐ

gain.gain.value = .5; /  音量を変更

request.onload = function () {
  audioCtx.decodeAudioData(this.response, function (evt) {
    var source = audioCtx.createBufferSource();

    source.buffer = evt;
    source.connect(gain); // source を gain に繋ぐ

    source.loop = true;
    source.start();
  });
};

request.open("GET", "http://jsrun.it/assets/Y/B/q/d/YBqdz.mp3", true);
request.responseType = "arraybuffer";

request.send();


これで 前回 よりも音量が小さくなったはずです。


DEMO