5

我正在制作一个 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");
        });
4

0 回答 0