6

私は音声アシスタントを書いていますが、Spotify で検索結果を起動できるようにしたいと考えています。Spotify や他のアプリに接続する方法を理解するために、 Google の Media Controller Test アプリで遊んでいます。これは次のように説明されています。

アプリ間のメディア コントロールをテストするために、MediaBrowserService に接続する単純な MediaController を作成します。

このアプリは、ユニバーサル Android ミュージック プレーヤー サンプル、またはメディア API を実装するその他のアプリで動作します。

アプリを実行すると、Spotify が を提供していると識別されますMediaBrowserServiceが、アプリを介して Spotify に接続しようとするとエラーが発生します。

エラーを含む Android スクリーンショット:

接続コードは次のとおりです。

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 を検索して再生できるようにしましたが、うまくいきませんでした。

4

2 に答える 2

1

アプリケーションが Android ビルド キーで署名されたシステム アプリケーションでない限り、MediaBrowserService を使用して Spotify に接続することはできません。それでもうまくいくとは100%確信が持てません。

ただし、Spotify をクエリするために MediaBrowserService は必要ありません。Spotify Android SDK を試してみることをお勧めします: https://developer.spotify.com/documentation/android/

于 2020-02-22T23:32:18.383 に答える