[英]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.