MPRIS + Python (dbus): свойства чтения и записи - PullRequest
12 голосов
/ 29 февраля 2012

Я уже проверил эту ссылку: Как обрабатывать свойства интерфейса dbus с python . Тем не менее, это только список API ... но я не знаю, откуда этот API.

Я только начал работать с dbus (честно говоря, довольно взволнован этим ^ __ ^ просто не слишком доволен найденной документацией) на python, и мне было интересно, смогу ли я просто получить пример кода.

Я использую MPRIS специально для Rhythmbox, хотя он «должен» быть одинаковым для всех.

Я знаю, что могу получить доступ к методам и получить от них удовольствие, выполнив следующие действия:

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

Тем не менее, я хотел бы знать о свойствах. Некоторого примера кода будет достаточно :) Спасибо!

1 Ответ

19 голосов
/ 29 февраля 2012

Нашел как.

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

Довольно просто на самом деле :) Я думал, что так будет просто.

...