在音频处理过程中,我向服务器发送 Int16Array 缓冲区。
var handleSuccess = function (stream) {
globalStream = stream;
input = context.createMediaStreamSource(stream);
input.connect(processor);
processor.onaudioprocess = function (e) {
var left = e.inputBuffer.getChannelData(0);
var left16 = convertFloat32ToInt16(left);
socket.emit('binaryData', left16);
};
};
navigator.mediaDevices.getUserMedia(constraints)
.then(handleSuccess);
在服务器端,我正在尝试按以下方式保存文件:
client.on('start-audio', function (data) {
stream = fs.createWriteStream('tesfile.wav');
});
client.on('end-audio', function (data) {
if (stream) {
stream.end();
}
stream = null;
});
client.on('binaryData', function (data) {
if (stream !== null) {
stream.write(data);
}
});
但是这种方法不起作用,我该如何将这个数组缓冲区保存为wav文件?
socket.io
? - Christos Lytraswav
NPM软件包的用法。 - Christos Lytras