【发布时间】:2021-05-27 17:48:47
【问题描述】:
我想暂停 chrome 的音乐/音频。例如,当我收到特定输入时,视频的音频会停止,然后在收到特定输入时重新启动,我应该使用什么?
【问题讨论】:
我想暂停 chrome 的音乐/音频。例如,当我收到特定输入时,视频的音频会停止,然后在收到特定输入时重新启动,我应该使用什么?
【问题讨论】:
你可以使用一个叫做 dbus 的东西,甚至还有一个 python 库。
您首先必须使用以下代码找到媒体播放器的名称。
import dbus
for service in dbus.SessionBus().list_names():
if ".Media" in service:
print(service)
你会得到一个类似这样的列表
org.mpris.MediaPlayer2.spotify
org.mpris.MediaPlayer2.chromium.instance1234
...
在打印的内容中,找到看起来是您的浏览器的那个。
那么运行这个命令最简单的方法就是使用子进程。
import subprocess
subprocess.run(
[
"dbus-send",
"--print-reply",
"--dest=org.mpris.MediaPlayer2.chromium.instance1234",
"/org/mpris/MediaPlayer2",
"org.mpris.MediaPlayer2.Player.PlayPause",
],
)
之后,它应该暂停或播放歌曲。
注意:你不必只做PlayPause,还有Previous 和Next 和Pause。
如果你想使用输入,你可以这样做
import subprocess
def pause_play():
subprocess.run(
[
"dbus-send",
"--print-reply",
"--dest=org.mpris.MediaPlayer2.chromium.instance63145",
"/org/mpris/MediaPlayer2",
"org.mpris.MediaPlayer2.Player.PlayPause",
],
)
if __name__ == "__main__":
while 1:
command = input("Enter a command: ")
if command == "p":
pause_play()
【讨论】: