2012-02-29 28 views
12

Bu bağlantıyı zaten işaretledim: How to handle properties of a dbus interface with python. Ancak, bu yalnızca bir API'yi listeler ... ancak API'nin nereden geldiğini bilmiyorum.MPRIS + Python (dbus): okuma ve yazma özellikleri

Sadece dbus ile çalışmaya başladım (bu konuda oldukça heyecanlıyım, dürüst olmak gerekirse ^) sadece python üzerinde çok mutlu değildim ve sadece bazı örnek kodları alıp alamayacağımı merak ediyorum.

Sadece Rhythmbox için MPRIS kullanıyorum, ancak 'herkes için aynı olmalı'.

ben aşağıdakileri yaparak o yöntemlerin Witht eğlenceli erişebilir ve olabilir biliyorum:

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

Ancak, özellikleri hakkında bilmek istiyorum. Bazı örnek kodlar yeterli olacaktır :) Teşekkürler!

cevap

18

Nasıl bulundu.

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

Oldukça basit aslında :) Ben bu gibi basit olacağını düşündüm.

+0

Şarkıların derecelendirilmesi gibi meta veriler yazabiliyor muydunuz? – Mendhak

+1

Etkili, ama ne acı! Daha kolay bir yol olacağını düşünürdün. –

+0

Bu arada, bazı çevrimiçi kaynaklar aracılığıyla bunu nasıl yapacağınızı öğrendiyseniz (kaynak koduna bakmak yerine), bağlantıyı gönderebilir misiniz? –