【问题标题】:How to know if Rhythmbox is playing music or something else如何知道 Rhythmbox 是在播放音乐还是其他东西
【发布时间】:2014-03-20 18:26:08
【问题描述】:

我正在尝试解决这个plugin 中的一个错误。我只想在播放音乐(而不是播客或广播)时显示侧边栏。我的问题是我不知道用户在听什么。有人可以为我提供一种方法吗?谢谢。

【问题讨论】:

  • 您阅读过代码、API、文档吗?你都尝试了些什么?那到底是怎么失败的?见How To s The Smart Way
  • 是的,我已阅读 API 文档,但它没有帮助,因为我不知道在哪里搜索。 API 文档不明确。

标签: python rhythmbox


【解决方案1】:

要获得当前正在播放的内容,您需要:

  1. 获取外壳
  2. 从 shell 中获取 Rhythmbox Shell-Player。
  3. 从 ShellPlayer 获取播放入口
  4. 查找条目的类型。

让我们一步一步来

Rhythmbox 外壳

shell 是插件的属性 - self.props.shell。所以让我们用self.shell = self.props.shell保存shell

Rhythmbox Shell 播放器

shell player 是 shell 属性的一部分 - player = self.shell.props.shell_player

参赛作品

通过查询shell-player找到播放入口

`entry = player.get_playing_entry()

条目类型

entry你可以得到入口类型:

entrytype = entry.get_entry_type()

documentation - 您可能只需要测试条目类型是Songentrytype.get_name() - 其他类型用于额外的播放流。

【讨论】:

  • 感谢您的回答。下周我会试试的。当我在 python 控制台中尝试 entrytype = entry.get_entry_type() 时,我收到一个错误,提示该函数不存在!
  • 我已经更正了条目类型文档的链接 - 我已经在 RB 3.0 上对此进行了测试,效果很好。
  • 谢谢它的工作,也许是我最后一次没有播放任何歌曲,所以我的 entrytype 没有
猜你喜欢
  • 2019-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 2015-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多