获取dbus接口的所有实现者?

时间:2014-01-06 23:57:42

标签: python dbus

我正在编写一个脚本来获取当前正在播放的媒体播放器的当前播放曲目。我感兴趣的两个玩家都实现了org.mpris.MediaPlayer2.Player界面:

我希望能够获得此界面的所有实现者的列表,以便我可以根据正在播放的内容在Banshee或Nuvola播放器中显示当前正在播放的歌曲的专辑信息。

这是我目前的代码:

bus = dbus.SessionBus()

player = bus.get_object('org.bansheeproject.Banshee', '/org/mpris/MediaPlayer2')
properties = dbus.Interface(player, 'org.freedesktop.DBus.Properties')

metadata = properties.Get('org.mpris.MediaPlayer2.Player', 'Metadata')

如何将此转换为可以提升实施org.mpris.MediaPlayer2.Player的所有内容的内容?

1 个答案:

答案 0 :(得分:0)

只需过滤注册名称:

filter(lambda x: x[:22] =='org.mpris.MediaPlayer2', bus.list_names())