Node.js SOX节点JS SOX流节点麦克风-尝试对实时流应用效果时SOX出错

Node.js SOX节点JS SOX流节点麦克风-尝试对实时流应用效果时SOX出错,node.js,sox,Node.js,Sox,嗨,我在NodeJS中实现Sox流和Sox时遇到了问题。我已经阅读了大量的文档,但是代码的输出并没有产生一个保存的音频mp3播放器。现在,我已经尝试了很多次,通过更改NodeJS记录模块来修复这个问题,以重新创建代码库。由于某些原因,效果线没有按计划工作。如果我注释掉效果行,它将保存音频。有人对我的错误有什么建议吗?如蒙协助,将不胜感激 let Mic = require('node-microphone'); let fs = require('fs'); let mic = new Mic(

嗨,我在NodeJS中实现Sox流和Sox时遇到了问题。我已经阅读了大量的文档,但是代码的输出并没有产生一个保存的音频mp3播放器。现在,我已经尝试了很多次,通过更改NodeJS记录模块来修复这个问题,以重新创建代码库。由于某些原因,效果线没有按计划工作。如果我注释掉效果行,它将保存音频。有人对我的错误有什么建议吗?如蒙协助,将不胜感激

let Mic = require('node-microphone');
let fs = require('fs');
let mic = new Mic();
let micStream = mic.startRecording();
let sox = require('sox-stream');

let dest = fs.createWriteStream('song.mp3')
let transform = sox({
   output: { type: 'mp3' },

显然,医生们错了。将效果定义为数组时,效果有效:

fs.createReadStream('song.wav')
    .pipe( sox({ output: { type: 'ogg' }, effects: ['speed', 1.5] }) )
    .pipe( fs.createWriteStream('song.ogg') );
});

micStream.pipe( transform ).pipe( dest );

setTimeout(() => {
  console.log('stopped recording');
  mic.stopRecording();
}, 5000);

mic.on('info', (info) => {
    // console.log(info);
});

mic.on('error', (error) => {
    console.log(error);
});
fs.createReadStream('song.wav')
    .pipe( sox({ output: { type: 'ogg' }, effects: ['speed', 1.5] }) )
    .pipe( fs.createWriteStream('song.ogg') );