システムUIのメディアコントロール

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Android 13 以降、システム UI のメディア コントロールには、アクション ボタンとリモート再生の更新が含まれています。これらの変更により、携帯電話やタブレットでより洗練されたメディア コントロール エクスペリエンスがサポートされ、デバイス間でのシームレスなメディア転送が提供されます。

メディア コントロールの更新

このセクションでは、アクション ボタンとリモート再生のために Android 13 でメディア コントロールに加えられた更新について説明します。

アクションボタンの変更

ユーザーがメディアを再生するアプリの豊富なメディア コントロール セットにアクセスできるようにするために、Android 13 のメディア コントロールのアクション ボタンはPlaybackStateアクション ステートから派生します。この変更により、関数MediaDataManager#createActionsFromStateは、 PlaybackStateアクション状態に基づいてアクション ボタン情報を生成します。これは、Auto、Assistant、Wear などの他の Android プラットフォームでのメディア コントロールのレンダリング方法と一致します。

対照的に、Android 12 では、メディア コントロールのアクション ボタンは、 MediaStyle通知に追加された通知アクションによって決定されました。

アクション ボタンの更新に関するアプリ互換の変更の概要については、 StatusBarManagerを参照してください。

リモート再生 API

Android 13 以降、さまざまなサーフェスでまとまりのあるメディア エクスペリエンスを提供するために、新しいシステム API Notification#setRemotePlaybackInfoが追加され、リモート再生用のメディア コントロール システム UI でメディア通知をマークします。この API を使用すると、通知を投稿するシステム アプリは次のことを実行できます。

  • リモート デバイスから発信されたメディアの情報と機能を、メディア コントロールのデフォルトの出力スイッチャーに提供します。
  • 必要に応じて、出力スイッチャー アフォーダンスを交換します。

この通知を使用するシステム アプリには、 MEDIA_CONTENT_CONTROL権限が必要です。

Notification#setRemotePlaybackInfo API は、リモート再生デバイスの名前、アイコン、および意図を決定するために、次のextrasも追加します。

  • Notification#EXTRA_MEDIA_REMOTE_DEVICE
  • Notification#EXTRA_MEDIA_REMOTE_ICON
  • Notification#EXTRA_MEDIA_REMOTE_INTENT

この情報を使用して、システム UI はデフォルトの出力スイッチャー チップ デバイス情報を置き換え、ローカル メディア コントロールのリストの最後にリモート再生用のメディア コントロールを追加できます。

メディアコントロールの実装

OEM は、アプリのメディア コントロールの生成方法に影響するため、既定の動作に対するこの変更に注意する必要があります。また、OEM は、新しいシステム API が出力スイッチャー アフォーダンスで適切に機能することを確認する必要があります。

OEM は変更を行う必要はなく、AOSP の既定の実装を使用できます。

リモート再生のカスタマイズ

OEM がリモート メディア再生通知をポストするシステム アプリを持っている場合、 MEDIA_CONTENT_CONTROLアクセス許可が付与されている限り、アプリは必要に応じて通知のためにsetRemotePlaybackInfoを呼び出すことができます。ただし、これは必須ではなく、パートナーはカスタマイズしないことを選択できます。

メディア制御の検証

システム UI でメディア コントロールをテストするには、手動テストを実行して以下を検証します。

  • アプリからメディアを再生している間、ボタンは意図したとおりに機能します。
  • 出力スイッチャーに正しいデバイス情報が表示されます。

次のテストを使用して、リモート再生 API を検証します。

推奨事項については、新しいCDD 要件[3.8.3.1/H-1-SR] を参照してください。