是否可以连接到Spotify的MediaBrowserService?

问题描述 投票:5回答:2

我正在编写语音助手,希望能够在Spotify中启动搜索结果。为了了解如何连接到Spotify和其他应用程序,我在玩Google's Media Controller Test app,它被描述为执行以下操作:

创建连接到MediaBrowserService的简单MediaController为了测试应用程序间媒体控件。

此应用可与Universal Android Music Player示例或任何其他版本一起使用其他实现媒体API的应用。

[运行应用程序时,它会将Spotify标识为提供了MediaBrowserService,但尝试通过该应用程序连接到Spotify时出现错误:

Android screenshot containing error: "MediaBrowser connection failed for Spotify"

这里是connection code

mBrowser = new MediaBrowserCompat(this, mMediaAppDetails.componentName,
        new MediaBrowserCompat.ConnectionCallback() {
             @Override
             public void onConnected() {
                 setupMediaController();
                 mBrowseMediaItemsAdapter.setRoot(mBrowser.getRoot());
             }

             @Override
             public void onConnectionSuspended() {
                 //TODO(rasekh): shut down browser.
                 mBrowseMediaItemsAdapter.setRoot(null);
             }

             @Override
             public void onConnectionFailed() {
                 showToastAndFinish(getString(
                         R.string.connection_failed_msg, mMediaAppDetails.appName));
             }

         }, null);
mBrowser.connect();

具体来说,在调用mBrowser.connect()之后不久,将调用回调的onConnectionFailed()方法。

这是否意味着Spotify拒绝了来自非列入白名单的应用程序的MediaBrowserService请求(如here所述,并且没有任何单个应用程序编写者可以连接到Spotify的MediaBrowserService,或者是否存在其他连接方法) ? FWIW,Google Play音乐也拒绝通过该应用的连接。

我也有tried getting Spotify to search and play by launching an intent,但没有成功。

android android-service spotify google-music mediabrowserservice
2个回答
3
投票

这是否意味着Spotify拒绝了来自非列入白名单的应用程序的MediaBrowserService请求(如此处所述),并且单个应用程序编写者无法连接到Spotify的MediaBrowserService,或者是否有其他连接方法?

是,这正是onConnectionFailed的意思。

您可以通过更改UAMP的onGetRoot以返回onGetRoot而不是null来验证。

[通常,如果您想使用标准的Android API,并且需要BrowserRoot(UAMP_EMPTY_ROOT, rootExtras)连接到他们。


0
投票

除非您的应用程序是使用Android Build键签名的系统应用程序,否则无法使用MediaBrowserService连接到Spotify。我也不是100%肯定能做到这一点。

但是,您不需要MediaBrowserService即可查询Spotify。我建议您尝试一下Spotify Android SDK:MediaBrowserCompat

© www.soinside.com 2019 - 2024. All rights reserved.