Node.js:在通过管道传输到可写流时追加到可读流?
Node.js: appending to readable stream WHILE it is piped to a writable stream?
我的服务器接收到音频缓冲区的 udp 数据包。
我想将这些传入的块流式传输到 Google 的文本转语音 API。
使用 fs 流,是否有可能以类似这样的方式实现此目的?:
let stream = fs.createReadStream("empty-file-name").pipe(myOutputStreamToAPI);
dgramserver.on('message', (msg, rinfo) => {
stream.push(msg)
}
在这个粗略的草图中,我会创建一个空的(可能?)流,或者在第一个收到的数据包上创建流,并在更多数据包进入时继续推送到流。
这可能吗?
还有什么方法可以达到我想要的结果?也就是说,在将可读流通过管道传输到可写流之后,我希望在不同的时间动态地添加到可读流中。
这个问题也可以这样问:
如何从动态传入的 udp 数据包创建可读流?
谢谢
这给你答案了吗
const Stream = require('stream')
const readableStream = new Stream.Readable()
const writableStream = new Stream.Writable()
writableStream._write = (chunk, encoding, next) => {
console.log(chunk.toString())
next()
}
readableStream.pipe(writableStream)
readableStream.push('ping!')
readableStream.push('pong!')
writableStream.end()
我的服务器接收到音频缓冲区的 udp 数据包。 我想将这些传入的块流式传输到 Google 的文本转语音 API。
使用 fs 流,是否有可能以类似这样的方式实现此目的?:
let stream = fs.createReadStream("empty-file-name").pipe(myOutputStreamToAPI);
dgramserver.on('message', (msg, rinfo) => {
stream.push(msg)
}
在这个粗略的草图中,我会创建一个空的(可能?)流,或者在第一个收到的数据包上创建流,并在更多数据包进入时继续推送到流。
这可能吗?
还有什么方法可以达到我想要的结果?也就是说,在将可读流通过管道传输到可写流之后,我希望在不同的时间动态地添加到可读流中。
这个问题也可以这样问: 如何从动态传入的 udp 数据包创建可读流?
谢谢
这给你答案了吗
const Stream = require('stream')
const readableStream = new Stream.Readable()
const writableStream = new Stream.Writable()
writableStream._write = (chunk, encoding, next) => {
console.log(chunk.toString())
next()
}
readableStream.pipe(writableStream)
readableStream.push('ping!')
readableStream.push('pong!')
writableStream.end()