将PCM-Streamspipe道化为一个function

我有两个PCMstream( decoder1 + decoder2 ):

 var readable1 = fs.createReadStream("track1.mp3"); var decoder1 = new lame.Decoder({ channels: 2, mode: lame.STEREO }); readable1.pipe(decoder1); 

 var readable2 = fs.createReadStream("track2.mp3"); var decoder2 = new lame.Decoder({ channels: 2, mode: lame.STEREO }); readable2.pipe(decoder2); 

现在我想把stream传输到一个混合函数中,我可以使用这个缓冲区函数:

 function mixStream(buf1, buf2, callback) { // The mixStream-Function is not implemented yet (dummy) var out = new Buffer(buf1.length); for (i = 0; i < buf1.length; i+=2) { var uint = Math.floor(.5 * buf1.readInt16LE(i)); out.writeInt16LE(uint, i); } this.push(out); callback(); } 

我需要类似的东西

 mixStream(decoder1.pipe(), decoder2.pipe(), function() { }).pipe(new Speaker()); 

输出到扬声器。 这可能吗?