我已经将wav文件的内容解压缩到nodejs中的buffer中,并且我想在不将缓冲区写入磁盘的情况下播放它,这可能吗?

示例代码

const fileContents: Buffer = readAudioFileFromZip();
playAudioFromBuffer(fileContents); // is it possible to write this function?

最佳答案

是的,有可能。
一种方法是使用来自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)

08-19 16:16