Ell*_*tus 6 android spotify android-service google-music mediabrowserservice
我正在编写语音助手,希望能够在 Spotify 中启动搜索结果。为了了解如何连接到 Spotify 和其他应用程序,我正在使用Google 的媒体控制器测试应用程序,它被描述为执行以下操作:
创建一个连接到 MediaBrowserService 的简单 MediaController 以测试应用间媒体控件。
此应用程序可与通用 Android 音乐播放器示例或任何其他实现媒体 API 的应用程序配合使用。
当我运行该应用程序时,它将 Spotify 标识为提供MediaBrowserService,但是当我尝试通过该应用程序连接到 Spotify 时出现错误:
这是连接代码:
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 搜索和播放,但没有成功。
这是否意味着 Spotify 拒绝来自非白名单应用程序的 MediaBrowserService 请求(如此处所述),并且个人应用程序编写者无法连接到 Spotify 的 MediaBrowserService,或者是否有其他连接方式?
是的,正是这个onConnectionFailed意思。
您可以通过将 UAMP 更改onGetRoot为 returnnull而不是来验证这一点BrowserRoot(UAMP_EMPTY_ROOT, rootExtras)。
通常,如果您想使用标准的 Android API 并MediaBrowserCompat连接到它们,您需要联系每个音乐播放器并要求他们将您的应用程序列入白名单(或切换到允许所有应用程序控制其播放)。