androidx/media

Media & Design

Android media libraries for playing, editing and controlling audio and video in apps.

3,060
1,002
Java
Apache-2.0
5 years old

AndroidX Media is a set of Android libraries for app developers building media features: local and streaming playback through ExoPlayer, video editing through Transformer, and media sessions for controlling playback. It is an Android library collection rather than a ready-made player app, so its natural fit is teams writing Android apps that need playback or editing inside their own UI.

What it provides and how it works

The README describes three main areas: playback (ExoPlayer), video editing (Transformer), and media sessions. These are consumed as separate modules, which lets an app pull in only the capability it needs. For example, an app playing DASH streams with bundled UI components depends on the ExoPlayer, DASH and UI modules together AndroidX Media README. Further documentation is kept separately, including a developer guide, class reference and release notes AndroidX Media README, with the official project portal at the Media3 page Media3 overview.

A typical workflow: an Android developer adds the relevant Media3 module dependencies to an app's Gradle build, enables Java 8 compatibility, implements playback or editing with the library APIs, and controls playback sessions where needed. Step-by-step guidance and sample material live in the developer guide and media dev center, rather than in the README developer guide media dev center.

Two ways to include it

  1. Published modules: fetch from the Google Maven repository and depend on individual modules. All Media3 modules used in a project must be at the same version AndroidX Media README. This is the simpler route for normal app development.
  2. Local checkout: clone the repository and include it as an included build, which suits local changes or using the main branch. Published dependency versions are then ignored AndroidX Media README. Some modules are not available from Maven and require the local approach; the MIDI decoder, for instance, needs JitPack configuration and must be explicitly enabled MIDI module README.

Both paths require an Android project with Gradle and Java 8 compatibility configured AndroidX Media README. The local path additionally needs the Android SDK, and an NDK not configured error can arise if sdk.dir is not set AndroidX Media README.

API stability and migration

Most commonly used APIs are covered by backwards-compatibility guarantees, while advanced APIs are marked unstable and require an opt-in annotation to use without lint warnings Unstable API documentation AndroidX Media README. Projects already using ExoPlayer or MediaSession have a dedicated migration guide migration guide.

The repository is Apache-2.0 licensed androidx/media. Development happens on main, with stable releases on release AndroidX Media README. Media3 appears on one recorded trending-board date only (2026-10-30, 3,060 stars, +3), which is too little history to infer a trend.

Written by AI from the project's README, updated October 30, 2026. The project's own docs are the source of truth.

Hacker News