オーディオ アプリに推奨されるアーキテクチャは、クライアント / サーバー型設計です。クライアントは、MediaBrowser
、メディア コントローラ、UI を含むアプリ内のアクティビティです。サーバーは、プレーヤーとメディア セッションを含む MediaBrowserService
です。
MediaBrowserService
の主な機能は次の 2 つです。
MediaBrowserService
を使用すると、MediaBrowser
を備えた他のコンポーネントやアプリから、サービスの検出、固有のメディア コントローラの作成、メディア セッションへの接続、プレーヤーの制御が可能になります。Wear OS や Android Auto のアプリからメディアアプリへのアクセスには、この方法が使われます。- また、オプションのブラウジング API も用意されています。この機能のアプリでの使用は必須ではありません。ブラウジング API を使用すると、クライアントからサービスにクエリを行い、コンテンツ階層(再生リスト、メディア ライブラリ、その他のコレクションを含む)の構造を表示できます。
- メディア ブラウザ サービスの作成
- メディア ブラウザ サービスの作成方法を説明します。このサービスは、メディア セッションを含み、クライアント接続を管理し、音声再生中はフォアグラウンド サービスになるものです。
- メディア ブラウザ クライアントの作成
- メディア ブラウザ クライアント アクティビティの作成方法を説明します。これは、UI とメディア コントローラを含み、メディア ブラウザ サービスとの接続と通信を行うものです。
- メディア セッション コールバック
- メディア セッション コールバック メソッドで、メディア セッション、メディア ブラウザ サービス、その他のアプリ コンポーネント(通知やブロードキャスト レシーバなど)を管理する方法を説明します。
- Universal Android Music Player サンプル
- この GitHub サンプルは、音声のバックグラウンド再生を可能にし、他のアプリに公開するメディア ライブラリを提供するメディアアプリを実装する方法を示しています。