【问题标题】:Detecting Spotify Song Plays检测 Spotify 歌曲播放
【发布时间】:2013-04-01 08:03:13
【问题描述】:

我正在开发一个移动应用程序,该应用程序可以检测 iPhone 和 Android 上各种媒体播放器的歌曲播放情况。我们目前在这两个平台上都支持许多应用程序。我们的应用程序的工作方式与 Last.FM 检测和自动打乱播放的方式类似。

但是,我们还没有找到一个有效的解决方案来检测不需要使用 Last.FM scrobbling(仅适用于 Android 的 Spotify)或 Facebook 作为代理的 Spotify 歌曲播放。

我已经为 android 尝试了一些东西,但据我了解(我看到很多帖子,例如 Find what song is playing in spotify on android),Android 应用程序不会广播与歌曲播放相关的媒体相关意图,因此我们需要更有创意的东西。无论如何,这并不能解决 iPhone 用例的问题。

Lib-spotify 为我们提供了一些承诺,我已经设法构建了一个可以创建会话并导航一些播放列表的应用程序,但我还没有弄清楚是否可以加载显示为“播放历史”的内容通过 lib-spotify 的桌面应用程序(例如,这是一种特殊形式的播放列表吗?)。我也尝试过 Spotify 应用程序来完成相同的操作,但 API 似乎没有公开所需的功能。

似乎我已经用尽了所有途径,但是有人对我没有尝试过的东西有什么建议吗?

假设我已经为每个我想收集其历史记录的用户提供了 spotify 凭据。

谢谢

【问题讨论】:

  • 我可以遗憾地确认,Spotify 没有发送任何意图来检测当前歌曲信息。也许其他讨论意图的线程是错误的,或者它取决于底层的 Android 版本。但我想知道是否是这样......同时有任何解决方案吗?

标签: android iphone spotify last.fm libspotify


【解决方案1】:

Spotify 有一个 metadatachanged intent-action,其中包含艺术家、专辑、曲目、长度和 id 值。 见:https://stackoverflow.com/a/22195867/1345586

【讨论】:

  • 是的,我看到这是在我最初的问题之后添加的。我们将它用于 Android,但仍然没有 iOS 解决方案。
【解决方案2】:

不幸的是,桌面播放历史记录是每台机器本地的,这意味着无法通过 libspotify 或任何其他 API 访问它。

目前,还没有一种方法可以可靠地实现您在移动平台上想要做的事情。

【讨论】:

  • 感谢您的回复 - 我没有意识到这段历史是本地的。我唯一能想到的另一件事是关注每个用户并从每个用户那里抓取我的活动提要。这种方法既不稳健也不可扩展。
猜你喜欢
  • 2017-02-09
  • 2016-07-01
  • 2014-08-07
  • 2018-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-15
相关资源
最近更新 更多