2013-04-17 308 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