4

我在linux服务器中使用mpg123,我试图通过网页(apache)控制它,使用链接发送不同的控件。

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

我想我可以用 fifo 发送 mpg123 那些键,将 mpg123 标准输入更改为先进先出标准输出,但我不知道在这种情况下如何使用先进先出(如何让 mpg123 “听”到另一个标准输入)。我所做的是:

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 吗?我用谷歌搜索了它,但找不到我想要的。

这个问题似乎给了我一些启示,但我仍然不知道如何让mpg123听fifo的输出。

先感谢您,

4

3 回答 3

0

mpg123 有它自己的 --fifo 选项

于 2014-08-18T19:57:52.987 回答
0
mkfifo myfifo
tail -f myfifo | mpg123 .. &
# send commands
echo .. > myfifo
sleep 5
echo .. > myfifo

tail是可选的,除非mpg123在标准输入上收到 EOF 时退出。否则你可以使用:<myfifo mpg123 ..

&echo如果您在另一个终端中运行命令,最后(控制操作员在后台执行命令)是可选的。

于 2013-12-20T10:21:00.720 回答
0

你用什么管道myfifo?

我会假设cat myfifo | mpg123 -C -@ musiclist.txt

cat 将在第一个文件通过 myfifo 传输后关闭。尝试tail -f myfifo | ...改用在 EOF 之后使其保持打开状态。

于 2013-12-20T00:19:02.653 回答