2013-04-17 267 views
3
var fs = require('fs'); 
var lame = require('lame'); 
var Speaker = require('speaker'); 

var $stream = fs.createReadStream('sounds/test.mp3').pipe(new lame.Decoder).pipe(new Speaker); 

setTimeout(function() { 
    $stream.close(); 
}, 5000); 

setTimeout(function() { 
    console.log('It worked!'); 
}, 10000); 

这会产生以下输出。 (不像预期的那样“工作!”)有什么办法停止播放音频文件?Node.js停止播放音频

node: pcm.c:1951: snd_pcm_bytes_to_frames: Assertion `pcm' failed. 
Abgebrochen (Speicherabzug geschrieben) 

回答

3

似乎与.end工作,所以也许你不应该使用close。否则,图书馆可能存在一个错误。

$stream.end(); 
+0

我敢肯定,关闭不这样做的原因是因为关闭是为了下游,而不是上游。 – generalhenry

+0

谢谢。它完美的作品。 – MeinAccount