def play_music(list):
tty.setcbreak(sys.stdin.fileno())
i = 0
while 1:
proc = subprocess.Popen(shlex.split("mpv " + list[i] + " --no-video\
--quiet --input-ipc-server=.mpvsocket"), stdout=DEVNULL)
soc = 0
while 1:
try:
soc = socket.socket(socket.AF_UNIX)
soc.connect(".mpvsocket")
break
except socket_error:
continue
print(get_name(list[i]))
while 1:
ch=0
rlist, _, _ = select([sys.stdin], [], [], 0.1)
if rlist:
ch = sys.stdin.read(1)
elif proc.poll() is not None:
break
else:
continue
if ch == 'q':
soc.send(compose_message({"command": ["quit"]}))
proc.kill()
soc.shutdown(socket.SHUT_WR)
soc.close()
os.remove(".mpvsocket")
sys.exit()
break
elif ch in 'l':
soc.send(compose_message({"command": ["seek", "5"]}))
elif ch in 'j':
soc.send(compose_message({"command": ["seek", "5"]}))
elif ch in 'n':
soc.send(compose_message({"command": ["quit"]}))
proc.kill()
soc.shutdown(socket.SHUT_WR)
soc.close()
break
elif ch in 'b':
soc.send(compose_message({"command": ["quit"]}))
proc.kill()
soc.shutdown(socket.SHUT_WR)
soc.close()
i = i-2
break
elif ch in '\ ':
soc.send(compose_message({"command": ["cycle", "pause"]}))
os.remove(".mpvsocket")
i = i + 1
if i < 0:
i = len(list) - 1
elif i >= len(list):
i = 0
评论列表
文章目录