2012-02-29 12 views
12

मैंने पहले से ही इस लिंक को चेक किया है: How to handle properties of a dbus interface with python। हालांकि, यह केवल एक एपीआई सूचीबद्ध करता है ... लेकिन मुझे नहीं पता कि वह एपीआई कहां से आता है।एमपीआरआईएस + पायथन (डीबीस): गुण पढ़ने और लिखने

मैंने अभी डाइबस के साथ काम करना शुरू कर दिया है (इस बारे में बहुत उत्साहित है, ईमानदार^__^पाइथन पर मुझे जो दस्तावेज मिला है उससे बहुत खुश नहीं है) और मैं सोच रहा था कि क्या मुझे कुछ नमूना कोड मिल सकता है।

मैं विशेष रूप से 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

वैसे, अगर आपको पता चला कि कुछ ऑनलाइन संसाधनों के माध्यम से ऐसा कैसे किया जाए (स्रोत कोड के माध्यम से देखने के विपरीत), तो क्या आप लिंक पोस्ट कर सकते हैं? –

संबंधित मुद्दे