我正在使用Jessi Lite运行Raspberry Pi。我创建了一个命名管道
mkfifo soundpipe
我将音频捕捉发送到管道:
arecord -f S16_LE -c1 -r48000 -t wav -D hw:1,0 > soundpipe
在一个新的终端,我然后消耗来自这个管道的声音
cat soundpipe | lame -m m -f -b 32 - "/home/pi/arecordings/test.mp3"
当我在运行" cat"的终端中按ctrl + c时然后命令arecord进程(即写入管道)停止。为什么这个过程会停止,如何让它一直运行?
感谢。
答案 0 :(得分:1)
作者正在阻止,因为命名管道没有读者。
如果你需要它连续运行,你必须让程序连续读取管道,或使用命名管道以外的其他东西。