【发布时间】:2018-01-21 02:48:39
【问题描述】:
我正在尝试使用 socket.io 将 json 中 ArrayBuffer 类型的数据发送到我的服务器,如下所示:
socket.emit('record', {
name: myUsername + '.wav',
data: data //arraybuffer
});
在服务器端,当我在套接字中收到“记录”事件时,我会从 JSON 中获取 data 并将其保存在 name 文件中,如下所示:
socket.on('record', function(message){
var fileWriter = new wav.FileWriter(message.name, {
channels: 1,
sampleRate: 48000,
bitDepth: 16
});
message.data.pipe(fileWriter);
});
我正在使用来自 npm 的 require('wav') 和 require('stream') 包。问题是我的服务器在 message.data.pipe(fileWriter); 上崩溃并出现以下错误:
TypeError: message.data.pipe is not a function
我做错了什么?我不能在 socket.io 中发送这样的 ArrayBuffer 吗?
【问题讨论】:
-
调用链接到流实例的
.pipe(),而不是ArrayBuffermessage.data
标签: javascript node.js socket.io