2012-02-29 13 views
12

Sprawdziłem już ten link: How to handle properties of a dbus interface with python. Jednak to tylko lista API ... ale nie wiem skąd pochodzi ten API.MPRIS + Python (dbus): właściwości odczytu i zapisu

Właśnie zacząłem pracować z dbus (bardzo podekscytowany tym, aby być szczerym^__^po prostu niezbyt zadowolonym z dokumentacji, którą znalazłem) na pythonie i zastanawiałem się czy mógłbym po prostu pobrać przykładowy kod.

Używam MPRIS specjalnie dla Rhythmbox, chociaż "powinien" być taki sam dla wszystkich.

wiem, że mogę uzyskać dostęp i baw witht he metod, wykonując następujące czynności:

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

Jednak chciałbym wiedzieć o właściwościach. Wystarczy trochę kodu przykładowego :) Dzięki!

Odpowiedz

18

Znalezione.

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

Rzeczywiście bardzo proste :) Pomyślałem, że to będzie takie proste.

+0

Czy jesteś w stanie pisać metadane, takie jak ustawienie oceny utworu? – Mendhak

+1

Skuteczne, ale co za ból! Można by pomyśleć, że będzie łatwiejszy sposób. –

+0

Nawiasem mówiąc, jeśli dowiedziałeś się, jak to zrobić za pośrednictwem jakiegoś zasobu online (w przeciwieństwie do przeglądania kodu źródłowego), czy mógłbyś opublikować link? –