【问题标题】:MPRIS + Python (dbus): reading and writing propertiesMPRIS + Python (dbus):读写属性
【发布时间】:2012-03-18 14:33:47
【问题描述】:

我已经检查了这个链接:How to handle properties of a dbus interface with python。但是,这仅列出了一个 API……但我不知道该 API 来自哪里。

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

我专门为 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')

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

【问题讨论】:

    标签: python linux dbus


    【解决方案1】:

    找到方法。

    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')
    

    确实很简单 :) 我认为它会像这样简单。

    【讨论】:

    • 您是否能够编写元数据,例如设置歌曲的评分?
    • 有效,但多么痛苦!你会认为会有更简单的方法。
    • 顺便说一句,如果您通过一些在线资源(而不是查看源代码)找到了如何做到这一点,您可以发布链接吗?
    • 不会撒谎,我不记得我是怎么知道的。我什至找不到这个项目的源代码(我想在 2 个月前继续它)。不过,很可能我检查了源代码。
    猜你喜欢
    • 2011-04-14
    • 2010-10-31
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 2011-05-15
    • 2013-03-05
    • 2010-12-02
    相关资源
    最近更新 更多