2012-02-29 11 views
12

Ya he consultado este enlace: How to handle properties of a dbus interface with python. Sin embargo, eso solo enumera una API ... pero no sé de dónde proviene esa API.MPRIS + Python (dbus): propiedades de lectura y escritura

Acabo de empezar a trabajar con dbus (bastante entusiasmado con esto, para ser sincero^__^simplemente no muy contento con la documentación que he encontrado) en python y me preguntaba si podría obtener un código de muestra.

Estoy usando MPRIS específicamente para Rhythmbox, aunque 'debería' ser el mismo para todos.

Sé que puedo acceder y divertirse estilo autoservicio que los métodos de la siguiente manera:

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

Sin embargo, deseo saber acerca de las propiedades. Un código de muestra será suficiente :) ¡Gracias!

Respuesta

18

Encontrado cómo.

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

Pretty simple indeed :) Pensé que sería así de simple.

+0

¿Pudiste escribir metadatos, como establecer la clasificación de una canción? – Mendhak

+1

Eficaz, pero qué dolor! Pensarías que habría una manera más fácil. –

+0

Por cierto, si descubrió cómo hacerlo a través de algún recurso en línea (en lugar de buscar en el código fuente), ¿podría publicar el enlace? –

Cuestiones relacionadas