是否可以连接到 Spotify 的 MediaBrowserService?

Ell*_*tus 6 android spotify android-service google-music mediabrowserservice

我正在编写语音助手,希望能够在 Spotify 中启动搜索结果。为了了解如何连接到 Spotify 和其他应用程序,我正在使用Google 的媒体控制器测试应用程序,它被描述为执行以下操作:

创建一个连接到 MediaBrowserService 的简单 MediaController 以测试应用间媒体控件。

此应用程序可与通用 Android 音乐播放器示例或任何其他实现媒体 API 的应用程序配合使用。

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

包含错误的 Android 屏幕截图:“Spotify 的 MediaBrowser 连接失败”

这是连接代码

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();
Run Code Online (Sandbox Code Playgroud)

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

这是否意味着Spotify的拒绝MediaBrowserService来自非白名单中的应用程序请求(如描述在这里),并有没有办法让一个单独的应用程序的作家连接到Spotify的MediaBrowserService,或者是有一些其他的方式来连接?FWIW,Google Play 音乐也拒绝通过该应用程序连接。

我还尝试通过启动 Intent 来让 Spotify 搜索和播放,但没有成功。

ian*_*ake 5

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

是的,正是这个onConnectionFailed意思。

您可以通过将 UAMP 更改onGetRoot为 returnnull而不是来验证这一点BrowserRoot(UAMP_EMPTY_ROOT, rootExtras)

通常,如果您想使用标准的 Android API 并MediaBrowserCompat连接到它们,您需要联系每个音乐播放器并要求他们将您的应用程序列入白名单(或切换到允许所有应用程序控制其播放)。