我有一个 AudioBuffer 客户端,我想将其 AJAX 到 Express 服务器。
这个链接 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data显示 XMLHttpRequest 如何发送/接收二进制数据 - ArrayBuffer。
ArrayBuffer 与 AudioBuffer 不同(或者我认为是这样),因为我首先解码了 ArrayBuffer 以制作 AudioBuffer。这是使用完成的解码音频数据() https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/decodeAudioData作为网络音频 API 的一部分。
所以我的问题是,我可以将 AudioBuffer 转换回 ArrayBuffer 吗?
如果可能的话,我想将 ArrayBuffer 发送到我的 Express 服务器,然后将其转发到 S3 存储桶,如下所示这个例子 http://blog.katworksgames.com/2014/01/26/nodejs-deploying-files-to-aws-s3/.
在该示例中,代码将 Buffer 放入通过 fs.readFileSync() 创建的 S3 存储桶中。我认为 Buffer 和 ArrayBuffer 之间的差异不会成为 S3 的问题:S
Use the 从频道复制 https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer/copyFromChannel方法,然后转换Float32Array
to an ArrayBuffer
.
var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
var anotherArray = new Float32Array();
myArrayBuffer.copyFromChannel(anotherArray,1,0);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)