我习惯mpg123
在工作时播放歌曲列表。实际运行mpg123
并播放音乐的主机是一个本地无头系统,但我可以通过 SSH 连接到它。我mpg123
在此主机上启动cron
;它会连续循环播放我的“播放列表”中的音轨。但是有时我需要暂停音乐(来电、访客等)。
man mpg123
说按一下s
键就可以暂停播放,再按一次就可以重新开始。如果我mpg123
在终端中启动并让它运行,这就可以正常工作。我还了解到,可以在会话中播放时发送“暂停”信号( s
):mpg123
screen
$ screen -S mpg123 # to start the screen session
$ /usr/bin/mpg123 --loop -1 /home/pi/rainstorm.mp3 # for example
'ctrl+a, d' # quit screen
...
$ screen -S mpg123 -X stuff "s" # pauses play
我在这里发现了一个与我类似的问题,但答案似乎没有切中要点——至少我不明白!
如果是在 下启动的,我找不到允许我向 发送“暂停”( s
) 命令的方法。我更喜欢一种比向 发送此命令更直接的路线,而且我不确定是否可以使用 进行设置。mpg123
cron
screen
mpg123
cron
有人能就一种方法提出建议吗?我更喜欢“bash
解决方案”,而不是需要(例如)C 程序的解决方案 - 但我很高兴能得到任何我能得到的东西!
引自
man mpg123
:您可以在 shell 中运行以下命令启动 mpg123:
mpg123 -R --fifo /tmp/mpg123_fifo
然后使用以下命令将帮助命令发送到管道:
echo "help" > /tmp/mpg123_fifo
它将向您显示您可以通过这种方式发送的命令的帮助。如何加载文件或 http 流或如何静音、取消静音、更改音量等。等等。
一旦您熟悉了命令,您就可以使用 cron 启动它并将命令发送到 fifo(命名管道)文件。
您还可以使用以下命令将输出重定向到文件:
mpg123 -R --fifo /tmp/mpg123_fifo > /tmp/mpg123_output
然后使用以下命令监视远程接口:
tail -f /tmp/mpg123_output
玩得开心 !