def _get_dbus_player_status(pl, bus_name, player_path, iface_prop,
iface_player, player_name='player'):
bus = dbus.SessionBus()
try:
player = bus.get_object(bus_name, player_path)
iface = dbus.Interface(player, iface_prop)
info = iface.Get(iface_player, 'Metadata')
status = iface.Get(iface_player, 'PlaybackStatus')
except dbus.exceptions.DBusException:
return
if not info:
return
album = info.get('xesam:album')
title = info.get('xesam:title')
artist = info.get('xesam:artist')
state = _convert_state(status)
if album:
album = out_u(album)
if title:
title = out_u(title)
if artist:
artist = out_u(artist[0])
return {
'state': state,
'album': album,
'artist': artist,
'title': title,
'total': _convert_seconds(info.get('mpris:length') / 1e6),
}
评论列表
文章目录