使用Python使用DBus监视Clementine

2024-09-30 06:33:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做和这里解释的完全一样的事情:

How to continuously monitor rhythmbox for track change using python

但是用克莱门汀而不是节奏盒。在

问题是,我找不到与playinguriched等效的连接信号方法。在

我在qdbus上唯一能找到的似乎是

signal void org.freedesktop.MediaPlayer.TrackChange(QVariantMap)

但它需要一个参数。在

我不熟悉DBus,所以任何帮助都是非常感谢的。在

谢谢


Tags: to方法for信号trackchange事情monitor
1条回答
网友
1楼 · 发布于 2024-09-30 06:33:36

它不接受参数,而是返回参数(哈希映射)

this script提取的代码:

def TrackChange(Track):
    # use Track["URI"], Track["title"], Track["artist"] etc

def Connect(name):
    global root, player, tracklist

    # first we connect to the objects
    root_o = bus.get_object(name, "/")
    player_o = bus.get_object(name, "/Player")
    tracklist_o = bus.get_object(name, "/TrackList")

    # there is only 1 interface per object
    root = dbus.Interface(root_o, "org.freedesktop.MediaPlayer")
    tracklist  = dbus.Interface(tracklist_o, "org.freedesktop.MediaPlayer")
    player = dbus.Interface(player_o, "org.freedesktop.MediaPlayer")

    # connect to the TrackChange signal
    player_o.connect_to_signal("TrackChange", TrackChange, dbus_interface="org.freedesktop.MediaPlayer") 

相关问题 更多 >

    热门问题