2012-02-29 2 views
12

이미이 링크를 확인했습니다 : How to handle properties of a dbus interface with python. 그러나, 그 API를 나열합니다 ...하지만 그 API가 어디서 비롯되는지 모르겠습니다.MPRIS + Python (dbus) : 속성 읽기 및 쓰기

dbus (솔직히^__ ^는 내가 찾은 문서에 만족하지 않는다.)에 대해 매우 흥미로웠다. 파이썬에서 나는 단지 샘플 코드를 얻을 수 있는지 궁금했다.

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

는 그러나, 나는 특성에 대해 알고 싶습니다. 몇 가지 샘플 코드로 충분합니다 :) 감사합니다!

답변

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

그건 그렇고, 온라인 리소스 (소스 코드를 살펴 보는 것과는 대조적으로)를 통해이를 수행하는 방법을 발견했다면 링크를 게시 할 수 있습니까? –