我正在制作一个 Discord 机器人,有时我必须使用 PCM 格式保存音频
voiceChannel.join().then(connection =>
{
const fs = require('fs');
// Create a ReadableStream of s16le PCM audio
var usee = message.member;
const audio = connection.receiver.createStream(usee, { mode: 'pcm' });
var idAudio = makeid(10);
audio.pipe(fs.createWriteStream(idAudio + '.pcm'));
(idAudio 是一个随机生成的字符串)。问题是我需要将 PCM 文件转换为 MP3。我已经尝试使用 node-lame 但没有用。我确定我错过了一些东西。PCm 是有符号的 16 位小端 (s16le) PCM
const Lame = require("node-lame").Lame;
const encoder = new Lame({
output: "./audio-files/demox122.mp3",
bitrate: 192
}).setFile("./user_audio.pcm");
encoder
.encode()
.then(() => {
// Encoding finished
console.error("all good");
})
.catch(error => {
// Something went wrong
console.error("error");
});