我试图播放来自socket.io(使用nodejs)和alsa的原始pcm数据。最近我用节点扬声器解决了我的问题,但我无法将其安装到目标设备上。现在我试图用nodejs" fs"模块:
...
var pcm = fs.createWriteStream("audio.pcm");
socket.on('stream', function(data) {
console.log(data);
pcm.write(data);
});
....
之后我试图立即运行aplay命令:
aplay -t raw -c 1 -r 48000 -f S16_LE audio.pcm
我能够延迟收听我的数据(2-3秒。这取决于我在命令之上运行的速度有多快),但是在没有任何消息的情况下它会在5-10秒后崩溃。我想这不是一个正确的方式来玩现场pcm。最好的方法是什么?