我正在编写一个语音助手,并希望能够在 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();
具体来说,在调用 后不久mBrowser.connect()
,回调的onConnectionFailed()
方法被调用。
这是否意味着 Spotify 拒绝MediaBrowserService
来自未列入白名单的应用程序的请求(如此处所述)并且单个应用程序编写者无法连接到 Spotify 的MediaBrowserService
,或者是否有其他连接方式?FWIW,谷歌播放音乐也拒绝通过应用程序连接。
我还尝试通过启动 intent 让 Spotify 进行搜索和播放,但没有成功。