我尝试在我的网络电台上制作自定义输出。 (MPD / MPC)
getInfo.py:
#!/bin/bash
opt=$@
mpc $opt &> /dev/null
station="`mpc --format \"[%name%]\" | head -n 1`"
title="`mpc --format \"[%title%]\" | head -n 1`"
vol="`mpc | head -n 2 | tail -n 1 | awk {'print $4'}`"
echo $station
echo $title
echo "Volume: "${vol//[()_]/}
并保存输出wach -n getInfo.py> radio.log
输出格式在这里:
Amazing Smooth and Jazz
Koop - Koop Island Blues
Volume: 100%
所以每当输出更改显示shell输出时我都需要。 怎么做?
答案 0 :(得分:1)
为了帮助您入门:
#!/usr/bin/python3
from subprocess import Popen, PIPE
last_output = ""
while(1):
proc = Popen(["mpc"], stdout=PIPE)
output, retval = proc.communicate()
if not output == last_output:
print(output.decode('ascii'))
last_output = output
我会将输出微调给你。
答案 1 :(得分:1)
如果您只是在更改时查找要更新的歌曲输出,mpc
的命令current
有一个--wait
选项,告诉mpc阻止直到下一首歌曲显示结果,这允许您循环它。从那里你可以用它来更新你想要的任何软件。
例如:
while :; do notify-send --urgency=low -i "audio-headphones" "$(mpc current --wait)"; done &