Метод 1: использование модуля fs
const fs = require('fs');
// Assuming you have the base64 data
const base64Data = '...'; // Replace with your actual base64 data
// Remove the data URL prefix
const base64DataWithoutPrefix = base64Data.replace(/^data:audio\/wav;base64,/, '');
// Convert base64 to binary data
const binaryData = Buffer.from(base64DataWithoutPrefix, 'base64');
// Save binary data to a file
fs.writeFileSync('audio.wav', binaryData);
Метод 2. Использование модуля node-wav
const fs = require('fs');
const wav = require('node-wav');
// Assuming you have the base64 data
const base64Data = '...'; // Replace with your actual base64 data
// Remove the data URL prefix
const base64DataWithoutPrefix = base64Data.replace(/^data:audio\/wav;base64,/, '');
// Convert base64 to binary data
const binaryData = Buffer.from(base64DataWithoutPrefix, 'base64');
// Decode WAV from binary data
const audioData = wav.decode(binaryData);
// Save audio data to a file
fs.writeFileSync('audio.wav', audioData.channelData[0]);
Способ 3. Использование модуля wav-кодировщика
const fs = require('fs');
const { encodeWav } = require('wav-encoder');
// Assuming you have the base64 data
const base64Data = '...'; // Replace with your actual base64 data
// Convert base64 to binary data
const binaryData = Buffer.from(base64Data, 'base64');
// Encode binary data to WAV
const audioData = {
sampleRate: 44100, // Replace with your desired sample rate
channelData: [new Float32Array(binaryData.buffer)]
};
// Save audio data to a file
encodeWav(audioData).then((buffer) => {
fs.writeFileSync('audio.wav', new Uint8Array(buffer));
});
Это всего лишь несколько примеров того, как можно сохранить файл WAV, закодированный в формате base64, в Node.js. Не забудьте заменить данные-заполнители фактическими данными Base64 и изменить любые другие параметры в соответствии со своими требованиями.