我已经运行mpv播放器,它通过unix套接字支持IPC控制,它工作得很好:
$ echo '{ "command": ["set_property", "pause", true ] }' | socat - /tmp/mpvsocket
{"request_id" 0,"error":"success"}
现在我想从python脚本(python 3.9):
import os, sys
import socket
import errno
resp = ""
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.connect('/tmp/mpvsocket')
s.settimeout(2)
message = '{ "command": ["set_property", "pause", true] }'
s.send(message.encode())
try:
msg = s.recv(4096)
resp = msg.decode()
except OSError as e:
# Something else happened, handle error, exit, etc.
print("Error reciving reply from ipc sock:" + str(e.args[0]))
print(resp)
现在我得到了这个令人沮丧的东西:
收到ipc sock的应答错误:timed out
当然播放也没有暂停。
你知道这是怎么回事吗?
@Selcuk的评论是正确的。只需要加上"n"