将.m4a转换为.wav [英] Convert .m4a to .wav

查看:603
本文介绍了将.m4a转换为.wav的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将缓冲音频文件.m4a转换为缓冲音频文件.wav,以通过NodeJS发送给Google语音api

I need to convert buffer audio file .m4a to buffer audio file .wav for send to google speech api by NodeJS

var toWav = require('audiobuffer-to-wav')
var xhr = require('xhr')
var context = new AudioContext()

// request the MP3 as binary 
xhr({
  uri: 'audio/track.mp3',
  responseType: 'arraybuffer'
}, function (err, body, resp) {
  if (err) throw err
  // decode the MP3 into an AudioBuffer 
  audioContext.decodeAudioData(resp, function (buffer) {
    // encode AudioBuffer to WAV 
    var wav = toWav(buffer)

    // do something with the WAV ArrayBuffer ... 
  })
})

我遇到错误

AudioContext is not defined


推荐答案

使用ffmpeg

(要在Mac 上安装ffmpeg,只需稍作安装ffmpeg

var ffmpeg = require('fluent-ffmpeg');

function convertFileFormat(file, destination, error, progressing, finish) {

ffmpeg(file)
    .on('error', (err) => {
        console.log('An error occurred: ' + err.message);
        if (error) {
            error(err.message);
        }
    })
    .on('progress', (progress) => {
        // console.log(JSON.stringify(progress));
        console.log('Processing: ' + progress.targetSize + ' KB converted');
        if (progressing) {
            progressing(progress.targetSize);
        }
    })
    .on('end', () => {
        console.log('converting format finished !');
        if (finish) {
            finish();
        }
    })
    .save(destination);

    }

    convertFileFormat('file.m4a', 'file.wav', function (errorMessage) {

        }, null, function () {
            console.log("success");
        });

这篇关于将.m4a转换为.wav的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆