2014-01-06 65 views
0

我正在編寫腳本以獲取當前正在播放的任何媒體播放器正在播放的曲目。這兩種情況我感興趣的玩家在實現org.mpris.MediaPlayer2.Player接口:獲取dbus中所有接口的實現者?

我希望能夠得到這個接口的所有實現的列表,以便我可以顯示當前的專輯信息在Banshee或Nuvola Player播放歌曲取決於播放的內容。

這裏是我當前的代碼:

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呢?

回答

0

在registred名稱只過濾:

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

也許你可以詳細說明嗎? – i3arnon