【发布时间】:2013-12-27 00:26:57
【问题描述】:
我正在使用 dbus-glib 来获取 smplayer2 中当前正在播放的文件名。 我得到了 http://bpaste.net/show/161995/ 我试图使用 Get 方法来获取 Metadata(type="a{sv}" ) 属性,
我写了一些这样的代码 DBusGConnection *总线; GError *error = NULL;
bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
DBusGProxy *smplayer;
smplayer= dbus_g_proxy_new_for_name (bus,
"org.mpris.MediaPlayer2.SMPlayer2",
"/org/mpris/MediaPlayer2",
"org.freedesktop.DBus.Properties");
GValue *Metadata;
dbus_g_proxy_call (smplayer, "Get", &error,
G_TYPE_STRING,"org.mpris.MediaPlayer2.Player",
G_TYPE_STRING,"Metadata", G_TYPE_INVALID,
G_TYPE_VALUE, &Metadata, G_TYPE_INVALID);
但元数据看起来是空的。
有人知道吗,拜托, 任何帮助将不胜感激
【问题讨论】:
-
你能贴出你用来检查元数据值的代码吗?
-
我的代码在这里 bpaste.net/show/172997 但无法获取元数据,我仍然不知道如何获取它,我真的想要一些示例代码来获取 a{sv} 数据