ユーザーはテレビ、ホームシアター システム、音楽プレーヤーをワイヤレス技術で接続するようになり、こうした画面や音量の大きいデバイスで Android アプリのコンテンツを再生できるようになることを望んでいます。このような再生を有効にすると、1 台のデバイスで 1 人のユーザーを使用するアプリを、 複数のユーザーに喜びとインスピレーションをもたらす共有エクスペリエンスへの統合を実現します。
Android Media Router API は、一般的なユーザー インターフェースを使ってリモートの受信デバイスでメディアの表示と再生を行えるように設計されています。アプリ デベロッパーは、MediaRouter
インターフェースを実装することでメディア ルーター フレームワークに接続でき、それによって、このフレームワークに参加しているデバイス上でコンテンツを再生できます。メディア
再生デバイス メーカーは、他のアプリが接続して接続できるようにする MediaRouteProvider
を公開することで、このフレームワークに参加できます。
受信デバイスでメディアを再生する図 1 は、アプリがレシーバに接続する方法を示しています。
デバイスに直接接続できます
図 1. メディア ルート プロバイダ クラスがメディアアプリから受信デバイスに通信する仕組みの概要
注: アプリで Google Cast デバイスをサポートする場合は、Cast SDK を使用し、アプリをキャストの送信元としてビルドします。 Cast のドキュメント 直接使用するのではなく
MediaRouter サポート ライブラリ
MediaRouter API は、AndroidX MediaRouter ライブラリで定義されています。このライブラリは、Android 2.3(API レベル 9)以上を搭載するデバイスと互換性があり、そのすべてにわたって一貫したエクスペリエンスを提供します。mediarouter API の詳細については、androidx.mediarouter.media
をご覧ください。
パッケージをご覧ください。
- MediaRouter API
- メディアアプリは、
MediaRouter
API を使用して、利用可能なリモート再生デバイスを検出し、音声と動画をそれらのデバイスにルーティングします。 - MediaRouteProvider API
MediaRouteProvider
API は、リモートの再生デバイスの機能を定義し、MediaRouter
を使って代替メディアパスを検索するアプリに、その定義を公開します。
出力スイッチャー
Android 11 以降、アプリのルーティング オプションもシステム メディア プレーヤーに表示されます。それによりユーザーは、スマートフォンで視聴していた動画をキッチンで見続けたり、自宅でも車内でもオーディオを聞いたりなど、視聴形態を変えながらデバイスをシームレスに切り替えることが可能になります。
メディア通知のルート選択ボタンを押すと、出力の切り替えが表示されます。デフォルトで次の選択ができます。
- 現在のデバイスのスピーカー
- 接続されているすべての Bluetooth オーディオ デバイス
アプリには、たとえばキャストなど、機能に応じてさまざまなオプションが用意されています。
アプリは MediaRouter
を使用できます。
カスタマイズする API
ルーティングの選択肢が決まります。サポートされていないデバイス(フィルタリングなど)を除外できます
(Netflix スマートテレビを視聴している場合は音声のみの Chromecast をキャスト)または
アプリが認識できる他の特殊なデバイスです。