我正在学习 Web Audio API。我在通过 JavaScript 中的 XMLHttpRequest 加载声音文件时遇到问题。请帮忙。这是我的代码
var source;
function start() {
console.log("WELCOME!!");
try{
var actx = new AudioContext();
}catch(e){
console.log('WebAudio api is not supported!!');
}
source = actx.createBufferSource()
var req = new XMLHttpRequest();
req.open('GET','src3.ogg',true);
req.responseType='ArrayBuffer';
req.onload = function(){
var audioData = req.response;
actx.decodeAudioData(audioData,function(buffer){
source.buffer = buffer;
source.connect(actx.destination);
source.loop();
},
function(e){
console.log('Error in decoding audio'+e.err);
}
);
}
req.send();
}
function play() {
source.start(0);
}
function stop(){
source.stop(0);
}
浏览器显示此错误:
XML Parsing Error: not well-formed
Location: file:///home/uzumaki/Web_Audio_Projects/src3.ogg
Line Number 1, Column 5:
并且在body标签的onload事件上调用start()方法
最佳答案
替补
req.responseType = "arraybuffer";
对于
req.responseType = "ArrayBuffer";
.responseType
未通过 XMLHttpResponse
实例转换为小写字母
关于javascript - 在 JavaScript 中使用 XMLHttpRequest 加载音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48309562/