2012-02-29 15 views
12

私は既にこのリンクを確認しました:How to handle properties of a dbus interface with python。しかし、それはAPIのリストだけですが、そのAPIがどこから来るのか分かりません。MPRIS + Python(dbus):読み取りと書き込みのプロパティ

dbusを使って作業を始めたばかりです(正直言って、私が見つけたドキュメンテーションには満足していません)。そして、サンプルコードを手に入れることができるかどうか疑問に思っていました。

私はMPRISをRhythmbox専用に使用していますが、すべて同じであるはずです。私は次の手順を実行して、彼のメソッドwitht楽しみにアクセスして持つことができます知っている

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

はしかし、私は、プロパティについて知りたいです。いくつかのサンプルコードで十分です:)ありがとう!

答えて

18

発見方法。

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

私はそれがこのように簡単だろうと思った。

+0

ソングの評価を設定するなど、メタデータを書き込めましたか? – Mendhak

+1

効果的ですが、なんと痛みです!あなたはもっと簡単な方法があると思います。 –

+0

ちなみに、(ソースコードを調べるのではなく)いくつかのオンラインリソースを通じてこれを行う方法を見つけたら、リンクを投稿できますか? –

関連する問題