繁体   English   中英

如何将node.js数组缓冲区转换为JavaScript数组缓冲区

[英]How to convert node.js array-buffer to javascript array buffer

我使用node.js将音频发送到客户端:
res.send(audio); / audio it is the buffer array

我在数据中得到对象“ arrayBuffer”。

在此处输入图片说明

然后将其转换为Blob,然后转换为文件(我想获取dataURL以在播放器中显示它)

.then(
        (result) => {
           result.arrayBuffer().then(function (data) {
                const blob = new Blob([data], { type: 'audio/wav' });
                var fileReader = new FileReader();
                fileReader.readAsDataURL(blob);
                fileReader.onload = function (evt) {
                    // Read out file contents as a Data URL
                    var url = evt.target.result;
                    res({blob, url})
                };    
            })
        }
) 

而且效果很好。 我将此URL用作<audio>属性的src ,并且可以正常工作。

但是现在我想从服务器发送此文件作为json的一部分。 现在,我从“音频”属性中的服务获取了audioBuffer。 我在获取中将arrayBuffer方法更改为json:

result.json().then(function (data) {
       const blob = new Blob([data.audio], { type: 'audio/wav' }); 
       ...

在此处输入图片说明

但是现在不起作用了。 我尝试使用模块www.npmjs.com/package/to-array-buffer将data.audio转换为js-arrayBuffer,但这无济于事。

也许您知道这里出了什么问题?

好的,我解决了问题。 我使用关于我写到array-buffer的模块 ,但是我不是使用toArrayBuffer(data.audio)而是toArrayBuffer(data.audio.data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM