Преобразование файла PCM в .mp3 (Nodejs 12) - PullRequest
1 голос
/ 29 мая 2020

Я делаю бота 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-битный формат PCM с прямым порядком байтов (s16le) со знаком

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");
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...