47 lines
689 B
JavaScript
47 lines
689 B
JavaScript
|
var
|
||
|
fs = require('fs'),
|
||
|
Speaker = require('speaker'),
|
||
|
|
||
|
Mixer = require('../index.js'),
|
||
|
|
||
|
lame = require('lame')
|
||
|
;
|
||
|
|
||
|
/*
|
||
|
* Create the mixer and stream to speaker:
|
||
|
*/
|
||
|
|
||
|
var mixer = new Mixer({
|
||
|
channels: 1
|
||
|
});
|
||
|
|
||
|
var speaker = new Speaker({
|
||
|
channels: 1,
|
||
|
bitDepth: 16,
|
||
|
sampleRate: 44100
|
||
|
});
|
||
|
|
||
|
mixer.pipe(speaker);
|
||
|
|
||
|
/*
|
||
|
* Decode mp3 and add the stream as mixer input:
|
||
|
*/
|
||
|
|
||
|
var file = fs.createReadStream('example0.mp3');
|
||
|
|
||
|
var decoder = new lame.Decoder();
|
||
|
var mp3stream = file.pipe(decoder);
|
||
|
|
||
|
decoder.on('format', function (format) {
|
||
|
console.log(format);
|
||
|
|
||
|
mp3stream.pipe(mixer.input({
|
||
|
sampleRate: format.sampleRate,
|
||
|
channels: format.channels,
|
||
|
bitDepth: format.bitDepth
|
||
|
}));
|
||
|
|
||
|
});
|
||
|
|
||
|
|