我在Linux服务器上使用mpg123,并尝试通过网页(Apache)来控制它,并使用链接发送不同的控件。

mpg123具有-C标志,因此您可以向其发送字符。 “s”键=开始/停止,“f”键=下一首...等等。

我想我可以用fifo向mpg123发送这些密钥,将mpg123 stdin更改为fifo stdout,但在这种情况下我不知道如何使用fifo(如何使mpg123“监听”另一个stdin)。
我所做的是:

mkfifo myfifo
myfifo | mpg123 -C -@ musiclist.txt
And then I've created keys.txt adding some keys to the file:
echo "f" >> keys.txt
echo "s" >> keys.txt

然后:
cat keys.txt >> myfifo.fifo

这是行不通的。
有人可以解释一下我可以使用fifos将消息传递给正在运行的mpg123吗?
我已经用谷歌搜索了,但是找不到我想要的。

这个question似乎给了我一些启发,但我仍然不知道如何使mpg123收听fifo的输出。

先感谢您,

最佳答案

您正在使用什么管道传递myfifo?

我假设cat myfifo | mpg123 -C -@ musiclist.txt
通过myfifo传送第一个文件后,cat将关闭。尝试改用tail -f myfifo | ...使其在EOF之后保持打开状态。

10-07 18:59