MPRIS + Python(dbus):读写属性

时间:2012-02-29 04:12:32

标签: python linux dbus

我已经检查过此链接:How to handle properties of a dbus interface with python。但是,这只列出了一个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')

但是,我想了解一下属性。一些示例代码就足够了:)谢谢!

1 个答案:

答案 0 :(得分: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')

非常简单:)我认为这样很简单。