2012-06-19 69 views
0

我想利用網絡AudioContext加載音頻,但它總是說沒有定義createBuffer和createBufferSource方法,我在網上搜索,它確實有這兩種方法,那麼爲什麼不能」我打電話給他們?網絡音頻API未定義的方法createBuffer和createBufferSource

var context = new webkitAudioContext(); 
audioBuffer = context.createBuffer(request.response, true); 
var source = context.createBufferSource(); 
+0

愚蠢的錯別字! – Amy

回答

0

嘗試以下,它爲我工作:

window.onload = init(); 

function init() 
{ 
if (typeof AudioContext == "function") { 
    var audioContext = new AudioContext(); 
} else if (typeof webkitAudioContext == "function") { 
    var audioContext = new webkitAudioContext(); 
} 

var source = audioContext.createBufferSource(); 
source.connect(audioContext.destination); 

var xhr = new XMLHttpRequest(); 
xhr.open("GET", "sounds/human.mp3", true); 
xhr.responseType = "arraybuffer"; 
xhr.onload = function() { 
    var buffer = audioContext.createBuffer(xhr.response, false); 
    source.buffer = buffer; 
    source.noteOn(0); 
}; 
xhr.send(); 
}