Получить текущий момент времени из приложения 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.

Рекомендации

  1. http://git.gnome.org/browse/totem/tree/src/plugins/dbusservice/dbusservice.py
  2. http://developer.gnome.org/totem/stable/TotemObject.html
Другие вопросы по тегам