Получить текущий момент времени из приложения Totem
Я хочу найти точное время, когда медиа-файл в настоящее время приостанавливается (или воспроизводится) в работающем экземпляре Totem с использованием D-Bus. Если быть точным, то, что я хочу, доступно из консоли Python Totem (если плагин существует и включен) с помощью следующей команды:
>>> print totem_object.props.current_time
732616
Я понимаю, что это миллисекунды.
До сих пор: я никогда не использовал D-Bus прежде, поэтому я в процессе изучения документации по D-Bus и python-dbus. Я также запустил D-Feet и обнаружил, что org.gnome.Totem
название автобуса и /Factory
объект, который я могу использовать org.freedesktop.DBus.Properties
методы интерфейса.
Я в данный момент на этом этапе:
>>> import dbus
>>> seb= dbus.SessionBus()
>>> t= seb.get_object('org.gnome.Totem', '/Factory')
>>> tif= dbus.Interface(t, 'org.freedesktop.DBus.Properties')
>>> tif.GetAll('')
dbus.Dictionary({}, signature=dbus.Signature('sv'))
Я не могу найти даже правильные инструкции, поэтому любая помощь будет принята с благодарностью.
1 ответ
В настоящее время я изучаю API по другой причине, мне нужно найти путь или местоположение, где я играю, и я наткнулся на этот вопрос.
Прежде всего, вы захотите активировать плагин D-Bus Service ("Правка" -> "Плагины"), который откроет org.mpris.Totem
оказание услуг. Тогда на /Player
объект и org.freedesktop.MediaPlayer
Интерфейс вы можете использовать PositionGet()
метод для получения текущей позиции.
Это возвращает totem.props.current_time
ты говорил о
Вот некоторый код:
import dbus
T_SERVICE_NAME = "org.mpris.Totem"
T_OBJECT_PATH = "/Player"
T_INTERFACE = "org.freedesktop.MediaPlayer"
session_bus= dbus.SessionBus()
totem = session_bus.get_object(T_SERVICE_NAME, T_OBJECT_PATH)
totem_mediaplayer = dbus.Interface(totem, dbus_interface=T_INTERFACE)
print totem_mediaplayer.PositionGet()
В целом org.gnome.Totem
сервис и методы Get / GetAll, я тоже не понимаю их цели. Похоже, это больше связано с самим DBus, чем с Totem.
Рекомендации