如何在nodejs中播放Buffer中存储的音频?

Sea*_*ene 5 javascript audio node.js

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

示例代码

const fileContents: Buffer = readAudioFileFromZip();
playAudioFromBuffer(fileContents); // is it possible to write this function?
Run Code Online (Sandbox Code Playgroud)

TGr*_*rif 2

对的,这是可能的。
实现此目的的一种方法是使用TooTallNate 的优秀模块节点扬声器。

这是一个简单的例子:

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)
Run Code Online (Sandbox Code Playgroud)