有没有办法以编程方式将内置媒体播放器与 dbus 分离?

有没有办法以编程方式将内置媒体播放器与 dbus 分离?

用例是:
我想通过 Python 中的 DBus 以编程方式控制 vlc 或其他媒体播放器作为 screenlet。因此,为了让其他媒体播放器注册到 DBus,我需要以一种干净的方式“解开”banshee。

我希望得到比 更优美的东西killall banshee

另一种解决方案是强制 banshee 不在启动时启动,这样它就不会在 DBus 上注册。

答案1

首先,没有什么不雅之处killall bansheeKill只是恰好是信号传递应用程序的名称。你当然可以为 kill 创建一个更雅致的名字的别名 :-)

除此之外,你真的不必这么做。只需直接通过 dbus 发送播放/暂停/下一个/等:例如

dbus-send --type=method_call --print-reply --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

这不会干扰任何其他播放器。(假设您有一个实现 mpris2(2.0)的 vlc 版本,并且您已经使用启用 dbus 的配置启动了 vlc)。

相关内容