我有一个问题,我已经研究了一段时间,但没有真正的进展。我目前正在尝试将我的 Shoutcast 流加载到我的 Web 音频 API 上下文中。我认为这会违反 CORS,我是对的。我尝试了通过 XHR 请求,然后再次将音频元素加载到脚本中。它与音频元素一起工作,但在尝试将其加载到脚本中时死了。看来我唯一的选择是尝试以某种方式将 CORS 标头添加到我的 Shoutcast 服务的流中。
我不知道如何做到这一点,也没有运气在网上找到资源。如果有人可以给我一些建议,将不胜感激!
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var soundSource, concertHallBuffer;
ajaxRequest = new XMLHttpRequest();
ajaxRequest.open('GET', 'http://127.0.0.1:8000/;stream.mp3', true);
ajaxRequest.responseType = 'arraybuffer';
ajaxRequest.onload = function() {
var audioData = ajaxRequest.response;
console.log(audioData);
audioCtx.decodeAudioData(audioData, function(buffer) {
concertHallBuffer = buffer;
soundSource = audioCtx.createBufferSource();
soundSource.buffer = concertHallBuffer;
soundSource.connect(audioCtx.destination);
soundSource.loop = true;
soundSource.start();
}, function(e){"Error with decoding audio data" + e.err});
}
ajaxRequest.send();