私は基本的に、一連の mp3 ファイルを次々と再生したいと考えています。難しいことではありませんが、曲が再生された後、新しい mp3 データをフィードするためにデコーダーとスピーカー チャンネルを開いたままにしておくのに苦労しています。これは、私がこれまでに持っていたものの要約版で、1 つの mp3 ファイルを再生しています。
var audioOptions = {channels: 2, bitDepth: 16, sampleRate: 44100};
// Create Decoder and Speaker
var decoder = lame.Decoder();
var speaker = new Speaker(audioOptions);
// My Playlist
var songs = ['samples/Piano11.mp3','samples/Piano12.mp3','samples/Piano13.mp3'];
// Read the first file
var inputStream = fs.createReadStream(songs[0]);
// Pipe the read data into the decoder and then out to the speakers
inputStream.pipe(decoder).pipe(speaker);
speaker.on('flush', function(){
// Play next song
});
私はTooTallNateのモジュールnode-lame(デコード用)とnode-speaker(スピーカーからのオーディオ出力用)を使用しています。