【问题标题】:How is it possible to know what's spotify is playing from an external Android app?怎么可能知道从外部 Android 应用程序播放的 Spotify 是什么?
【发布时间】:2013-06-18 15:37:14
【问题描述】:

我刚刚在 Spotify for Android 设置屏幕中发现了这个设置选项:

“设备广播状态 - 允许您设备上的其他应用看到什么 你在听”

我想这意味着任何其他应用都可以访问通过 Spotify 播放的内容。如何实施?有没有相关文档?

谢谢

【问题讨论】:

  • 查看LibSpotify,它是一个C 库,但你可以看到example,如果它集成在Android 应用程序上,它可以帮助你。
  • 谢谢我去看看
  • Spotify 团队有人愿意回答这个问题吗?我假设设置会广播一个 Intent,但我们需要动作名称才能使用它。

标签: android spotify


【解决方案1】:

Spotify 具有以下意图操作:

元数据已更改, 播放状态改变,和 队列已更改。

queuechanged 不包含额外数据。
playbackstatechanged 有一个布尔值表示“正在播放”,还有一个值表示播放位置。
metadatachanged 包含艺术家、专辑、曲目、长度和 id 值。

您可以使用 com.spotify.mobile.android.metadatachanged

在曲目更改(手动或自动)时获取艺术家、曲目和专辑名称

如果 Spotify 被暂停并重新启动,则仅广播播放状态更改。

【讨论】:

  • 看起来这已经变成了com.spotify.music.metadatachanged和类似的。
  • 抱歉,这对我不起作用。你能帮我解决这个问题吗?
  • 请注意,要让您的应用接收这些数据,您必须授权 Spotify 进行广播。这可以在 Spotify 设置视图中完成。请参阅here 了解更多信息;)
【解决方案2】:

Spotify 使用标准com.android.music.metachangedintent-action 进行广播。 为该意图操作注册一个BroadcastReceiver ,然后使用

选择元数据

字符串艺术家 = intent.getStringExtra("艺术家");
字符串专辑 = intent.getStringExtra("专辑");
String track = intent.getStringExtra("track");

【讨论】:

  • 很酷!这是官方的还是有一天会改变?
  • 感觉你需要从应用程序中切换“设备广播状态”,我猜它就在这里。
  • @Freddman 您的意思是输入com.android.music.metachanged,而不是com.android.music.metachange?因为这就是谷歌音乐应用程序使用的。而且还有播放状态变化的广播吗?您在哪里找到此信息?
  • @Tenfour04 抱歉,我是com.android.music.metachanged。我做了一个快速演示应用程序,只是为了在阅读了一篇我再也找不到的博客文章后尝试:/
  • 这不再适用于 Spotify。它适用于 Google 音乐,但 Spotify 不会在此操作上广播。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多