node.js - 如何在将数据添加到nodejs中的文件后立即从音频文件中读取数据作为缓冲区?

标签 node.js file streaming http-live-streaming

我有一个正在现场录制的 .wav 音频文件。我只想在数据添加到其中后立即读取它的数据并将其发送到其他服务器(或网络浏览器以实时收听)

如何在 Node.js 中执行此操作。

最佳答案

TL;DR:创建 .wav 文件的读取流并将其与写入流进行管道传输。

这不是一个实际的工作示例。这只是为了演示如何实现它。

这里,res是一个写入流!

const fs = require('fs');
const file = fs.createReadStream('audio.wav');

app.get('/', (req, res) => {
  file.on('data', (chunk) => {
    // Send chunk to client
    res.send(chunk); // May be?
  });
});

或者,您可以使用管道!

app.get('/', (req, res) => {
  file.pipe(res);
});

关于node.js - 如何在将数据添加到nodejs中的文件后立即从音频文件中读取数据作为缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990621/

相关文章:

node.js - 限制nodejs中cassandra db的并行请求数量

javascript - 为什么我的 POST 请求不断加载?

c++ - 从 .dat 文件读取参数到 C++?

iPhone ios 4 - 在播放背景音频流时替换 iPod 底座图标

javascript - 如何解压缩(解压缩)NodeJS 请求的模块 gzip 响应正文?

c - 解析头文件以查找函数名称

c - 从 txt 文件中保存、查找和删除结构

hadoop - Apache Kafka 无法在同一台本地计算机上启动多个实例

视频末尾的 Java .mp4 流损坏 - 网络错误

javascript - Node.js Express 和 Mongoose,在 save() 之后渲染