私は音声アシスタントを書いていますが、Spotify で検索結果を起動できるようにしたいと考えています。Spotify や他のアプリに接続する方法を理解するために、 Google の Media Controller Test アプリで遊んでいます。これは次のように説明されています。
アプリ間のメディア コントロールをテストするために、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()
メソッドが呼び出されます。
MediaBrowserService
これは、Spotify がホワイトリストに登録されていないアプリからのリクエストを拒否し(ここで説明されているように)、個々のアプリの作成者が Spotify の に接続する方法がないことをMediaBrowserService
意味しますか、それとも他の方法で接続できますか? FWIW、Google Playミュージックもアプリを介した接続を拒否します.
また、インテントを起動して Spotify を検索して再生できるようにしましたが、うまくいきませんでした。