pynotify的xmms2跟踪更改检测



我已经编写了这个小脚本,使用xmms客户端和pynotify在通知小部件上显示xmms2上播放的当前曲目,所以当我运行它时,我可以使用xmmsclient方法看到带有当前艺术家和标题的小部件弹出窗口。

有人能给出一些关于如何检测跟踪更改以自动通知而不必手动运行脚本的提示吗?

将客户端库连接到主循环,并通过broadcast_playback_current_id方法注册为侦听器。如果在脚本启动时也想要当前播放的id,则可以调用playback_current_id方法。

以下是xmms2-tutorial.git中tutorial6的一个小的调整,它使用GLib主循环来驱动连接:

import xmmsclient
import xmmsclient.glib
import os
import sys
import gobject
def cb(result):
    if not result.is_error():
        print "Current: %(artist)s - %(title)s" % result.value()

ml = gobject.MainLoop(None, False)
xc = xmmsclient.XMMS("stackoverflow")
xc.connect()
conn = xmmsclient.glib.GLibConnector(xc)
xc.broadcast_playback_current_id(lambda r: xc.medialib_get_info(r.value(), cb))
ml.run()

最新更新