javascript - 在 JavaScript 中使用 XMLHttpRequest 加载音频

标签 javascript xmlhttprequest web-audio-api

我正在学习 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/

相关文章:

javascript - 使用 Javascript 按钮切换 CSS 悬停元素

javascript - 单击按钮 div 显示 1 x 1(一次一个)

javascript - XMLHttpRequest - 来自 JavaScript 的 REST

javascript - 使用 Web Audio API 录制来自麦克风的低音量输入

javascript - 如何清除axios中的控制台错误?

javascript - 使用 Javascript 获取渲染页面源

ajax - 使用 MooTools 在任何 ajax 请求上自定义 header

javascript - 未捕获( promise )DOMException : Unable to decode audio data

javascript - Web Audio onaudioprocess 在 Firefox 中有效,JSFiddle 在 Chrome 中有效,但在 Chrome 本身中无效

javascript - HighCharts - 在 xAxis 中显示最后的标签