いままでもいくつかWeb Audio APIの記事を描いてきましたが、
kimizuka.hatenablog.com
kimizuka.hatenablog.com
kimizuka.hatenablog.com
基本的なところがわかっていなかったため、
こちら を読みなおしてみました。
結果、最終的に destination に connect したものが音として出力されるということがわかりました。
それがわかったうえで、ソースを書いてみると、
JavaScript
var request = new XMLHttpRequest(), audioCtx = new AudioContext(); request.onload = function () { audioCtx.decodeAudioData(this.response, function (evt) { var source = audioCtx.createBufferSource(); source.buffer = evt; source.connect(audioCtx.destination); 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
こんな感じのソースになるのも納得です。
次回は gain を操作してみようと思います。