我正在使用XMLHttpRequest来加载音频,而使用Web Audio Api来获取用于可视化工具的音频的频率。我是这个概念的新手,但我所学到的是XMLHttpRequest的open方法中的第二个参数“url”必须与当前文档位于同一个域中,即相对URL(例如audio-folder / music.mp3)。
我想从数据库之外的第三方网站(https://c1.rbxcdn.com/36362fe5a1eab0c46a9b23cf4b54889e)打开音频,但当然会返回错误。
我假设将方法是将基本网址中的音频保存到数据库中,以便发送XMLHttpRequest,然后在计算完音频频率后将其删除。但我怎么能这样做呢?我不知道从哪里开始,或者这是多么有效,所以如果你有建议,我很乐意听到。
这是我正在使用的代码。
function playSample() {
var request = new XMLHttpRequest();
request.open('GET', 'example.mp3', true);
request.responseType = 'arraybuffer';
// When loaded decode the data
request.onload = function() {
// decode the data
setupAudioNodes();
context.decodeAudioData(request.response, function(buffer) {
// when the audio is decoded play the sound
sourceNode.buffer = buffer;
sourceNode.start(0);
rafID = window.requestAnimationFrame(updateVisualization);
}, function(e) {
console.log(e);
});
};
request.send();
}