Welche DBus-Signale sende ich an Player, um die Multimedia-Verknüpfungen von Gnome zu imitieren?

1955
culebrón

Ich habe Xubuntu 11.10, XFCE. Ich möchte DBus-Signale an die Spieler senden, damit sie wie in Gnome funktionieren: Sie drücken die 'play'-Taste, es spielt' next '- es geht weiter und so weiter.

Dafür muss ich eine Reihe von Befehlen wie folgt an die Multimedia-Tasten binden:

dbus-send --dest=org.gnome.Rhythmbox ... 

Nun habe ich gesucht und finde es nicht: Welche Signale soll ich senden? Ich brauche nur 3 Ereignisse: spielen, vor- und zurückspulen.

Folgendes habe ich bisher geschafft:

culebron@vostro:~/Work/game$ dbus-send --print-reply --dest=org.gnome.Rhythmbox /org/gnome/Rhythmbox org.gnome.Rhythmbox.Play Error org.freedesktop.DBus.Error.UnknownMethod: Method "Play" with signature "" on interface "org.gnome.Rhythmbox" doesn't exist  culebron@vostro:~/Work/game$ dbus-send --print-reply --dest=org.gnome.Rhythmbox /org/gnome/Rhythmbox org.mpris.MediaPlayer2.Play Error org.freedesktop.DBus.Error.UnknownMethod: Method "Play" with signature "" on interface "org.mpris.MediaPlayer2" doesn't exist 
2

1 Antwort auf die Frage

2
grawity

Das Signal gesendet wird, org.gnome.SettingsDaemon.MediaKeys.MediaPlayerKeyPressedauf /org/gnome/SettingsDaemon/MediaKeys, mit zwei Argumenten - den Namen des Zielprogramms, das das Programm selbst registriert, und die Taste gedrückt ( „Play“, „Stop“, „Weiter“, „Zurück“).

Signalsender =: 1.3 -> dest = (Nullziel) seriell = 3047 Pfad = / org / gnome / SettingsDaemon / MediaKeys interface = org.gnome.SettingsDaemon.MediaKeys member = MediaPlayerKeyPressed Zeichenfolge "gnome-mpris-keybind (mpd)" Zeichenfolge "Play" 

Dies wird jedoch wahrscheinlich nur von geringem Nutzen sein, da sich der Player ohne gsd nicht selbst registrieren kann und nicht garantiert, dass er tatsächlich auf dieses Signal hört .

In einigen Fällen können Sie diese Ebene überspringen und den Musik-Player direkt steuern - die meisten Player exportieren eine MPRIS2-Schnittstelle, andere haben eigene Benutzeroberflächen, die mit D-Feet erkundet werden können.org.mpris.MediaPlayer2.playername

Methodenaufruf sender =: 1.449 -> dest = org.mpris.MediaPlayer2.mpd serial = 17 Pfad = / org / mpris / MediaPlayer2; interface = org.mpris.MediaPlayer2.Player; member = PlayPause