MPRIS + Python(dbus):读写属性

Mam*_*aac 13 python linux dbus

我已经检查了这个链接:如何使用python处理dbus接口的属性.但是,这只列出了一个API ...但我不知道该API的来源.

我刚开始使用dbus(对此非常兴奋,说实话^ __ ^对我发现的文档不太满意)在python上,我想知道我是否可以获得一些示例代码.

我专门为Rhythmbox使用MPRIS,尽管它应该对所有人都一样.

我知道我可以通过以下方式访问并享受方法:

import dbus
bus = dbus.SessionBus()
proxy = bus.get_object('org.mpris.MediaPlayer2.rhythmbox','/org/mpris/MediaPlayer2')
player = dbus.Interface(proxy, 'org.mpris.MediaPlayer2.Player')
playlists = dbus.Interface(proxy, 'org.mpris.MediaPlayer2.Playlists')
tracklist = dbus.Interface(proxy, 'org.mpris.MediaPlayer2.TrackList')
Run Code Online (Sandbox Code Playgroud)

但是,我希望了解房产.一些示例代码就足够了:)谢谢!

Mam*_*aac 19

发现如何.

proxy = bus.get_object('org.mpris.MediaPlayer2.rhythmbox','/org/mpris/MediaPlayer2')
properties_manager = dbus.Interface(proxy, 'org.freedesktop.DBus.Properties')
properties_manager.Set('org.mpris.MediaPlayer2.Player', 'Volume', 100.0)
curr_volume = properties_manager.Get('org.mpris.MediaPlayer2.Player', 'Volume')
Run Code Online (Sandbox Code Playgroud)

确实非常简单:)我认为这样很简单.

  • 有效,但是好痛苦啊!你可能会认为还有更简单的方法。 (2认同)