2
我正嘗試從URL加載音頻緩衝區,然後播放它。我從HTML5 Rocks Tutorial獲得了大部分代碼。加載音頻緩衝區並使用音頻標籤播放
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()
但是沒有奏效。
這裏的任何信息?