URLからオーディオバッファをロードして再生しようとしています。このHTML5Rocksチュートリアルからほとんどのコードを入手しました。
var request = new XMLHttpRequest();
request.open('GET', $(this).attr('data-url'), true);
request.responseType = 'arraybuffer';
request.onload = function() {
console.log(request);
context.decodeAudioData(request.response, function(buffer) {
console.log(buffer);
$('#play').click(function() {
var source = context.createBufferSource();
source.connect(context.destination);
source.noteOn(0);
}).removeAttr('disabled');
}, function(err) { console.log(err); });
};
request.send();
しかし、#play
ボタンを押すと何も起こりません。source.noteOn(0)
と呼ばれ、デバッガを使って確認しました。そして、すべてのオブジェクトが適切にロードおよび作成されていますが、音が聞こえません。
また、このアプローチを使用している場合は、すべてのコントロールを備えた完全なプレーヤーを再構築する必要があるようです。作業を節約し、これがより適切に機能するようにするために、私がやりたいのは、をに入れてbuffer
、<audio/>
そこで再生できるようにすることです。
audio.src
そこにファイル名を入れるためのものがあることは知っていますが、オーディオバッファを使用する必要があります。私はもう試した
audio.src = buffer;
audio.load()
しかし、それはうまくいきませんでした。
そこに何か情報はありますか?