我已经将一个wav文件的内容解压缩到nodejs中的buffer
,我想在不将缓冲区写入磁盘的情况下播放它,是否可能?
示例代码
const fileContents: Buffer = readAudioFileFromZip();
playAudioFromBuffer(fileContents); // is it possible to write this function?
答案 0 :(得分:1)
是的,有可能。
一种方法是使用TooTallNate中的优秀模块 node-speaker 。
这是一个简单的例子:
const stream = require('stream');
const Speaker = require('speaker');
let speaker = new Speaker();
function playAudioFromBuffer(fileContents) {
let bufferStream = new stream.PassThrough();
bufferStream.end(fileContents);
bufferStream.pipe(speaker);
}
playAudioFromBuffer(fileContents)