使用nodejs将麦克风从一个客户端流式传输到其他客户端

时间:2017-05-04 15:58:38

标签: javascript node.js express streaming

我正在尝试录制一个客户端录制的音频,并将其实时发送给其他连接的客户端。目标是一种"广播"。我已经阅读了很多解释来帮助指导我,没有运气。

目前我将音频写入文件:

var fileWriter = new wav.FileWriter(outFile, {
  channels: 1,
  sampleRate: 44100,
  bitDepth: 16
});

client.on('stream', function(stream, meta) {
  stream.pipe(fileWriter); 
  stream.on('end', function() {
      fileWriter.end();
      console.log('wrote to file ' + outFile);
    });
  });
});

如您所见,我目前正在使用Binaryjs将音频数据发送到服务器,此时我将流传输到FileWriter

然后我尝试读取文件并将其传递给响应

app.get('/audio', function(req, res) {
  fs.createReadStream(__dirname + '/demo.wav').pipe(res);
})

我确定你已经注意到了,但这并不奏效。我认为(也许)在构建文件时,它会回放添加到文件中的所有更新内容。这没有发生,它达到客户端请求文件然后结束的程度。

我不确定如何将流数据实时传递给请求它的客户端。作为对nodejs全新的结果,我不确定此过程使用的方法和术语,并且无法找到任何直接的工作示例。

0 个答案:

没有答案