如何使用Python在节奏盒中获取当前播放的歌曲

如何使用Python在节奏盒中获取当前播放的歌曲,python,dbus,rhythmbox,Python,Dbus,Rhythmbox,我正在使用Ubuntu 12.04。我想使用Python访问Rhythymbox 到目前为止,我是这样做的: 我浏览了这个网站 ,但它给出了如何编写插件的细节,我现在对此不感兴趣。我看了一些教程,告诉我怎么做 import dbus session_bus = dbus.SessionBus() proxy_obj = session_bus.get_object( 'org.gnome.Rhythmbox', '/org/gnome/Rhythmbox/Player') 但是我得到了以下

我正在使用Ubuntu 12.04。我想使用Python访问Rhythymbox

到目前为止,我是这样做的:

我浏览了这个网站 ,但它给出了如何编写插件的细节,我现在对此不感兴趣。我看了一些教程,告诉我怎么做

import dbus
session_bus = dbus.SessionBus()

proxy_obj = session_bus.get_object(
'org.gnome.Rhythmbox', '/org/gnome/Rhythmbox/Player') 
但是我得到了以下错误

DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Rhythmbox was not provided by any .service files.

有人能为我指出我想要实现的正确方向吗?

我想您在上所述的Rhythmbox DBus接口中遇到了一个错误。Tracker表示已提交修复程序,但您的版本可能没有该修复程序。

使用的解决方法是:

注意:这不适用于Ubuntu11.10,Ubuntu11.10未附带Rhythymbox客户端。

这可能有用

它是RhythmBox的twitter插件。因此,您可以只录制当前歌曲,而不是twitter和Gtk

from gi.repository import RB

RB.RhythmDBPropType.TITLE
将提供可用于获取标题的枚举。

访问是什么意思?你具体想做什么?我只想知道正在播放的歌曲的名称。也许你可以看看
/usr/lib/rhythmbox/plugins/im status/im status.py中的im status插件,它取下歌曲的名称并将其放入洋泾浜语中。你如何将标题捕获为str?当我
print title
时,我得到
None
并且var测试为非类型…这很好,但请注意,可能有一些歌曲名称相同,但在不同的文件夹中(例如,它们在不同的年份演唱,但名称相同)。我尝试了删除播放歌曲的方法,但问题是我不知道应该删除哪首歌曲。(幸运的是,我可以删除另一首歌)在“修复程序发布”很久之后,它仍然在发生
from gi.repository import RB