nodejs 语音文件格式转换

308 阅读1分钟

需要安装 npm i fluent-ffmpeg 另外服务器需要下载fluent-ffmpeg 配置 fluent-ffmpeg 的 环境变量才可以使用

const fs = require('fs');
let ffmpeg = require('fluent-ffmpeg');//创建一个ffmpeg命令
  main() {
        return new Promise((resolve, reject) => {
            //获取对应文件
            const file = this.ctx.request.files[0]; //获取接口传过来的文件                                                 
            //创建执行命令
            var command = ffmpeg();
            // 获取输出路径
            let outPatch = `输出路径.wav`; 
            //开始转换 
            command.addInput(file.filepath).saveToFile(outPatch)
                .on('error', function (err) { 
                    this.ctx.throw(500, '文件转换失败')
                })
                .on('end', async () => {
                    //文件转换成功 
                    //获取二进制字节码长度
                    const fileSizeInBytes = fs.statSync(outPatch).size;
                    //读取文件进行base64编码
                    let data = fs.readFileSync(outPatch);
                    let dataBuffer = Buffer.from(data).toString('base64'); 
                    fs.unlink(file.filepath, function (err) {
                      if (err) console.log(err)
                    })
                    fs.unlink(outPatch, function (err) {
                      if (err) console.log(err)
                    }) 
                })
        })
    };

chatgpt 对话小程序 ai对话 ai画图 扫码体验

gh_fee1287c2853_258.jpg