Overview
Stay organized with collections
Save and categorize content based on your preferences.
Media provides a platform on which to build media apps that provide safe,
seamless, and connected infotainment experiences in every Android-enabled car.
Media is an Android system application designed to provide a
Distraction Optimized (DO) playback
and browse experience for media apps. A fully functional implementation of Media is included with
Android Open Source Project (AOSP).
Figure 1. Media screen sample implementations.
To learn about Media, see the following pages:
- System components and user flows.
Learn more about the components that interact with Media, as well as the most common user flows.
- Implement radio with media.
Read how to integrate the Radio UI with Media to provide enable users to interact with media
sources and radio as if they were a single application.
- Customize media.
Learn how to work with styles and assets defined at different levels in the AOSP structure.
- Implement a media card.
Implement a media card to display media metadata such as titles, album art, and more. A media
card can also display a queue of media items, such as a playlist.
Terminology
These terms are used in this section.
Media Source
An Android app that implements the Android
MediaBrowserService API
to expose playback control and browsing of its catalog of media items.
Media Item
An element in the Media Source catalog. Media items can be either:
- Playable Media items. Audio segments that can be played by the
system such as songs, chapters of books, and episodes of podcasts
- Browsable Media items. Organizational elements used to group
playable or other browseable media items such as song categories, a recent songs folder, as
well as podcasts and playable media items sorted by artist, author, or audience.
Media provides these features.
While driving |
While parked |
Playback control.
-
Presentation of currently playing media item (for example, a song), including title,
album art, duration, description, and current play position.
-
Execution of standard media actions (for example, play, stop, pause, and skip
forward).
-
Execution of custom media actions (custom actions provided by each media source).
-
Presentation of the playback queue, if provided by the media app.
Catalog browse.
-
Display of top-level categories.
-
Drill down into browse-able media items (for example, folders).
-
Selection of playable media items (for example, songs) including title, album art, and
indicators. For example, explicit content and downloaded content.
|
Everything listed under While Driving as well as:
-
Sign-in. For those media sources that require sign-in, it should
be possible to start the sign in flow directly from Media.
-
Settings. Media source can display a settings UI.
-
Search, with keyboard. Users can perform a text search on Media.
|
Tasks
This table describes the tasks of each party.
Vehicle makers (vOEMs) |
Google |
App developers |
- Build a fully-compliant Android CDD
infotainment system with Android Automotive.
- Fulfill all expectations of MediaSession and Browser APIs and the interoperability with
Media:
- Respect browse structure.
- Respect custom actions.
- Delegate to the app for sign-in, settings, and so on.
- Respect the app branding elements explicitly supported by the APIs. For example, the
app name.
|
- Define and evolve Media APIs.
- Provide Media implementation in AOSP.
- Define app review process for publishing of media apps on Play Store.
- Provide documentation for elements such as APIs, customizations, review, and
certification processes
|
- Implement Media APIs:
- Provide overall media browse structure with appropriate content.
- Provide custom actions as appropriate.
- Make playback states available to the system.
- Provide branding elements, such as app name.
- Implement the sign-in, sign-up, settings, and error resolution flows, as needed.
- Build and publish car APKs to the Play Store.
|
Customization guidelines
The Media implementation included in AOSP uses
Car UI Library to enable
customization and provides a base theme and structure that can be adopted as is or modified
according to the following restrictions. The following table describes OEM responsibilities
regarding Media customization.
Media customization |
Description |
SHOULD |
Adjust overall theme and styling, including color pallette and sizing. |
MAY |
Modify the high-level structure of Media (for example, tab placement). |
MUST NOT |
Modify Media API contracts, including app branding:
- MediaSession and MediaBrowser interoperability
- Media source name, icon
Modify information architecture of:
|
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-05 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-05 UTC."],[],[]]