Node.js 播放/暂停音频流节点
我使用NodeJs和lame以及扬声器来播放mp3声音,如下所示:Node.js 播放/暂停音频流节点,node.js,audio,stream,lame,speaker,Node.js,Audio,Stream,Lame,Speaker,我使用NodeJs和lame以及扬声器来播放mp3声音,如下所示: var stream = fs.createReadStream('/path/to/dir/file.mp3'); var decoder = new lame.Decoder(); var speaker; stream.pipe(decoder).on('format', function(format) { speaker = new Speaker(format); this.pipe(speaker
var stream = fs.createReadStream('/path/to/dir/file.mp3');
var decoder = new lame.Decoder();
var speaker;
stream.pipe(decoder).on('format', function(format) {
speaker = new Speaker(format);
this.pipe(speaker);
});
此代码工作正常,我的问题是当我希望它暂停时:
stream.unpipe();
它工作,声音暂停,但3-4秒后,我希望它立即暂停。我看过这篇帖子:但是没有答案。
我认为当我调用unpipe(或者我错了吗?)时,会有延迟导致流在接下来的3-4秒内已经缓冲了。如果是这样,有没有办法正确管理缓冲区,或者在调用unpipe时清理缓冲区
谢谢。您应该使用该方法,与混合,因为现在您正在分离流并关闭文件
为什么需要几秒钟才能停止播放?因为流的缓冲区中仍然有数据。由于流以块的形式读取数据,因此平均大约有70KB的数据 您应该使用该方法,与混合,因为现在您正在分离流并关闭文件
为什么需要几秒钟才能停止播放?因为流的缓冲区中仍然有数据。由于流以块的形式读取数据,因此平均大约有70KB的数据