了解AudioBuffer到ArrayBuffer转换

我有一个AudioBuffer客户端,我想AJAX到一个快速服务器。

该链接显示XMLHttpRequest如何发送/接收二进制数据 – ArrayBuffer。

ArrayBuffer不同于AudioBuffer(或者我相信),因为我解码了一个ArrayBuffer来使AudioBuffer摆在首位。 这是使用decodeAudioData()作为Web Audio API的一部分完成的。

所以我的问题是,我可以将AudioBuffer转换回ArrayBuffer吗?

如果可能的话,我想将ArrayBuffer发送到我的express服务器,然后将其转发到S3存储桶,如本例所示。

在这个例子中,代码将通过fs.readFileSync()创build的S3存储桶中的缓冲区PUT。 我假设Buffer和ArrayBuffer之间的区别不会是S3:S的问题

使用copyFromChannel方法,然后将Float32Array转换为ArrayBuffer

 var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate); var anotherArray = new Float32Array(); myArrayBuffer.copyFromChannel(anotherArray,1,0);