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 screens
To learn about Media, see the following articles:
- System Components and User Flows. See this article to learn more about the components that interact with Media, as well as the most common user flows.
- Implementing 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.
- Customizing Media. Learn how to work with styles and assets defined at different levels in the AOSP structure.
Terminology
These terms are used:
Term | Description |
---|---|
Media Source | An Android application 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:
|
Media features
Media provides these features.
While Driving | While Parked |
---|---|
Playback control.
Catalog browse.
|
Everything listed under "While Driving" as well as:
|
Tasks
This table describes the tasks of each party.
Car Manufacturers (OEMs) | App Developers | |
---|---|---|
|
|
|
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:
Modify information architecture of:
|