Rhythmbox:如何通过Python脚本访问曲目的“评分”字段?
我想要通过Python来获取或设置与特定音乐曲目相关的评分。请问我该怎么做呢?
1 个回答
3
你可以使用Rhythmbox的D-Bus接口。我写了一个小脚本,可以获取和设置歌曲的评分,并且会显示通知,所有操作都是针对当前正在播放的歌曲。
这个脚本在这里:http://kaizer.se/wiki/code/rhrating.py
补充说明一:我保证在写不是临时脚本的时候会写得更漂亮!
补充说明二:缺失的使用说明是./rhrating.py [NEWRATING 0..5]
补充说明三:如果我过滤掉脚本中设置歌曲评分的部分,只保留与文件系统位置uri
相关的内容,结果是:
import dbus
bus = dbus.Bus()
service_name = "org.gnome.Rhythmbox"
sobj_name = "/org/gnome/Rhythmbox/Shell"
siface_name = "org.gnome.Rhythmbox.Shell"
def set_rating(uri, rating):
searchobj = bus.get_object(service_name, sobj_name)
shell = dbus.Interface(searchobj, siface_name)
shell.setSongProperty(uri, "rating", float(rating))