问题描述
我想暂停 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","--dest=org.mpris.MediaPlayer2.chromium.instance63145",)
if __name__ == "__main__":
while 1:
command = input("Enter a command: ")
if command == "p":
pause_play()