Какие сигналы DBus я посылаю игрокам для имитации мультимедийных ярлыков Gnome?
У меня Xubuntu 11.10, XFCE. Я хочу посылать сигналы DBus игрокам, чтобы они работали, как в Gnome: вы нажимаете клавишу "play", она играет, "next" - она вперед и так далее.
Для этого мне нужно привязать к мультимедийным клавишам такой набор команд:
dbus-send --dest=org.gnome.Rhythmbox ...
Теперь я искал и не могу найти: какие сигналы я должен послать? Мне нужно всего 3 события: играть, перематывать и перематывать.
Вот что мне удалось сделать до сих пор:
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
1 ответ
Сигнал отправлен org.gnome.SettingsDaemon.MediaKeys.MediaPlayerKeyPressed
на /org/gnome/SettingsDaemon/MediaKeys
с двумя аргументами - именем целевой программы, которое регистрирует сама программа, и нажатой клавишей ("Play", "Stop", "Next", "Previous").
отправитель сигнала =:1.3 -> dest=(null destination) serial=3047 Путь =/ орг / гном /SettingsDaemon/MediaKeys Интерфейс =org.gnome.SettingsDaemon.MediaKeys Член =MediaPlayerKeyPressed строка "gnome-mpris-keybind (mpd)" Строка "Play"
Тем не менее, это, вероятно, будет бесполезным, так как без gsd ваш плеер не сможет зарегистрироваться и не будет гарантированно прослушивать этот сигнал.
В некоторых случаях вы можете пропустить этот слой и напрямую управлять музыкальным проигрывателем - большинство проигрывателей экспортируют интерфейс MPRIS2 по адресу org.mpris.MediaPlayer2.playername
у других есть свои пользовательские интерфейсы, которые можно изучить с помощью D-Feet.
вызов метода sender=:1.449 -> dest=org.mpris.MediaPlayer2.mpd serial=17 Путь =/ орг /mpris/MediaPlayer2; Интерфейс =org.mpris.MediaPlayer2.Player; Член = PlayPause