ALSA如何玩原始二进制stream?

我试图播放来自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秒之后崩溃,没有任何消息。 我想这不是一个正确的方式来玩现场直播。 什么是最好的方法来做到这一点?

Interesting Posts