在 JavaScript 中使用 XMLHttpRequest 加载音频
Audio loading with XMLHttpRequest in JavaScript
我正在学习网络音频API。我在 JavaScript 中通过 XMLHttpRequest 加载我的声音文件时遇到问题。请 help.Here 是我的代码
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
实例转换为小写
我正在学习网络音频API。我在 JavaScript 中通过 XMLHttpRequest 加载我的声音文件时遇到问题。请 help.Here 是我的代码
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
实例转换为小写