gpt4 book ai didi

javascript - XMLHttpRequest 'response' 参数为空

转载 作者:行者123 更新时间:2023-11-30 17:54:38 26 4
gpt4 key购买 nike

下面的 XMLHttpRequest 对象表现异常,但我不确定我是否正确使用它。首先,我需要按照说明在我的 S3 服务器上允许跨域请求 located here.

接下来,我编写了 .open 方法以转到我的 Amazon S3 服务器并对名为“Superman”的 mp3 执行 GET。这似乎没有错误发生,但是这个 console.log 向下几行

console.log("Current 'request.response' value");  
console.log(request.response);

显示 request.responsenull。但是.. 在 request.onload 函数中,传入的 request.response 对象由此 console.log 语句显示为AudioBuffer 类型。

    console.log("Inside 'request.onload' function");
console.log(buffer);

这是这两个语句的控制台输出的屏幕截图。

enter image description here

但是.. 当我尝试在 .onload 方法中播放 mp3 时,下面屏幕截图中的第 205 行会抛出突出显示的错误。

enter image description here

我的问题是,我是否在使用 XMLHttpRequest 对象,它是否正常运行?如果是,为什么会出现此错误?我是否需要在 .onload 方法之前或之后对 request.response 运行某种转换?

var request = new XMLHttpRequest();
request.open('GET', 'http://s3.amazonaws.com/tracks/Superman.mp3', true);
request.responseType = 'arraybuffer';

console.log("Current 'request.response' value");
console.log(request.response);

request.onload = function() {
context.decodeAudioData(request.response, function(buffer){

console.log("Inside 'request.onload' function");
console.log(buffer);

var source = context.createBufferSource();
source.buffer = buffer.byteLength;
source.connect(context.destination);
source.start(0);
}

最佳答案

您正在分配 source.buffer = buffer.byteLength。试试 source.buffer = buffer

关于javascript - XMLHttpRequest 'response' 参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18294381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com