gpt4 book ai didi

android - 如何在 Spotify Android 应用程序中自动播放播放列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:50 27 4
gpt4 key购买 nike

我正在尝试在 Spotify 应用程序中播放一个已知的播放列表。我最好的办法是加载播放列表,但不播放它。

我尝试过两件事。首先从搜索播放:

Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.setComponent(new ComponentName("com.spotify.music",
"com.spotify.music.MainActivity"));
intent.putExtra(MediaStore.EXTRA_MEDIA_FOCUS,
MediaStore.Audio.Playlists.ENTRY_CONTENT_TYPE);
intent.putExtra(MediaStore.EXTRA_MEDIA_PLAYLIST, <PLAYLIST>);
intent.putExtra(SearchManager.QUERY, <PLAYLIST>);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

我试过用已知播放列表的名称替换 PLAYLIST。还尝试了诸如“4Rj0zQ0Ux47upeqVSIuBx9”、“spotify:user:11158272501:playlist:4Rj0zQ0Ux47upeqVSIuBx9”等。所有这些都是对这些字符串的失败搜索。

第二次尝试是查看 Intent :

String uri = "https://play.spotify.com/user/11158272501/playlist/4Rj0zQ0Ux47upeqVSIuBx9";
Intent intent= new Intent( Intent.ACTION_VIEW, Uri.parse(uri) );
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

这会加载播放列表,但不会播放。如果我随后使用多种方式之一发送 KEYCODE_MEDIA_PLAY 键,它只会恢复当前播放列表,而不是这个新加载的列表。

有任何人(包括 Spotify 开发人员)的帮助吗?

顺便说一句,我不想​​使用 Spotify SDK 来实现我自己的 Spotify 播放器 - 当一个非常好的播放器已经安装在用户的设备上时,不得不这样做似乎是一种耻辱。

最佳答案

我从this blog找到了答案.我缺少的是播放列表 URI 作为 Intent 中的数据 URI。所以没有使用正确的 Android 方式从搜索中播放。

因此,使用问题中的第一种方法,您最终会得到:

Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.setData(Uri.parse(
"spotify:user:11158272501:playlist:4Rj0zQ0Ux47upeqVSIuBx9"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

三点注意事项:

  • Uri 不能是 https://play.spotify ...但必须是冒号分隔类型。
  • Spotify 帐户必须是高级帐户,否则播放列表打开但无法播放。
  • 如果屏幕关闭或显示锁定屏幕,这将不起作用。 Spotify Activity 需要在加载和播放之前显示在屏幕上!

最后一点意味着它实际上对我来说不可用......所以还没有接受答案。

关于android - 如何在 Spotify Android 应用程序中自动播放播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29059466/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com