# androidx/media

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/androidx-media).**

2,680 stars · 742 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/androidx/media
- Homepage: https://developer.android.com/media/media3
- awesome-repositories: https://awesome-repositories.com/repository/androidx-media.md

## Topics

`android` `exoplayer` `java` `media3` `media3-exoplayer` `media3-transformer` `mediaplayer`

## Description

Android Media is a framework library providing the primary system components for audio and video playback, session management, and media routing on Android. It includes a multimedia API for processing raw media streams, managing MIDI devices, and rendering video frames.

The project features a dedicated metadata manager for organizing descriptive labels, content channels, and DRM configurations, alongside a session controller that synchronizes playback state with external controllers and manages media shortcuts for wearable devices.

The library covers a broad range of capabilities including audio attribute configuration, media library browsing, and playback control for streaming and local files. It also provides tools for ad playback management and video processing, such as transcoding formats, trimming clips, and applying visual effects to frames.

## Tags

### Graphics & Multimedia

- [Media Capture and Playback](https://awesome-repositories.com/f/graphics-multimedia/audio-music/media-capture-and-playback.md) — Implements a comprehensive system for audio and video streaming with controls for pausing, seeking, and session management.
- [Multimedia APIs](https://awesome-repositories.com/f/graphics-multimedia/multimedia-apis.md) — Provides a comprehensive programming interface for raw media stream processing, MIDI device management, and video frame rendering.
- [Audio Hardware Routing](https://awesome-repositories.com/f/graphics-multimedia/audio-hardware-routing.md) — Provides mechanisms to route audio streams to specific hardware outputs and system sound tracks.
- [Audio Routing Policies](https://awesome-repositories.com/f/graphics-multimedia/audio-routing-policies.md) — Defines audio attributes and usage policies to control how sound is routed and captured on the device.
- [Content Mapping Schemas](https://awesome-repositories.com/f/graphics-multimedia/content-mapping-schemas.md) — Links media items to descriptive labels and DRM configurations using a structured metadata schema.
- [Local Media Library Management](https://awesome-repositories.com/f/graphics-multimedia/local-media-library-management.md) — Organizes media content libraries and metadata to allow users to browse and select items for playback.
- [Media Content Streaming](https://awesome-repositories.com/f/graphics-multimedia/media-content-streaming.md) — Plays audio or video using standardized player implementations or custom base classes. ([source](https://developer.android.com/media))
- [Media Playback Controls](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls.md) — Shares playback state with external controllers and handles remote commands for media applications.
- [Playback Session Management](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls/playback-session-management.md) — Handles audio and video playback sessions and controls the state of the media stream. ([source](https://cdn.jsdelivr.net/gh/androidx/media@release/README.md))
- [Remote Session Synchronization](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls/remote-session-synchronization.md) — Shares playback state with external sources and receives remote control commands. ([source](https://developer.android.com/guide/topics/media/media3))
- [Session Controllers](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls/session-controllers.md) — Synchronizes playback state with external controllers and manages media shortcuts on wearable devices.
- [Media Metadata Managers](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-metadata-managers.md) — Provides tools for attaching and organizing descriptive labels and structural metadata for media items and playlists. ([source](https://developer.android.com/reference/androidx/media3/common/package-summary))
- [MIDI Hardware Integration](https://awesome-repositories.com/f/graphics-multimedia/midi-hardware-integration.md) — Enables interaction with MIDI hardware and the processing of musical data streams within applications. ([source](https://cdn.jsdelivr.net/gh/androidx/media@release/README.md))
- [Media Editing Tools](https://awesome-repositories.com/f/graphics-multimedia/media-editing-tools.md) — Provides capabilities for transcoding formats, trimming clips, cropping frames, and adding custom effects. ([source](https://developer.android.com/guide/topics/media/media3))
- [Premium Audiovisual Enhancements](https://awesome-repositories.com/f/graphics-multimedia/premium-audiovisual-enhancements.md) — Integrates advanced enhancements including HDR, spatial audio, and picture-in-picture modes for media playback. ([source](https://developer.android.com/media))
- [Raw Media Data Transport](https://awesome-repositories.com/f/graphics-multimedia/raw-media-data-transport.md) — Transports uncompressed media data between processes using shared memory and data streams. ([source](https://developer.android.com/reference/androidx/media3/common/package-summary))
- [Video Frame Processing](https://awesome-repositories.com/f/graphics-multimedia/video-frame-processing.md) — Applies changes and visual effects to individual video frames using a processing graph. ([source](https://developer.android.com/reference/androidx/media3/common/package-summary))
- [Processing Graphs](https://awesome-repositories.com/f/graphics-multimedia/video-frame-processing/processing-graphs.md) — Implements a graph-based pipeline for applying sequential visual effects and transformations to video frames.
- [Video Playback Components](https://awesome-repositories.com/f/graphics-multimedia/video-playback-components.md) — Displays video frames and playback controls using dedicated view components or drawing surfaces. ([source](https://developer.android.com/guide/topics/media/media3))
- [Video Editing](https://awesome-repositories.com/f/graphics-multimedia/video-production/video-editing.md) — Provides tools for transcoding formats, trimming clips, and applying visual effects to video files.

### Mobile Development

- [Android Media Frameworks](https://awesome-repositories.com/f/mobile-development/android-media-frameworks.md) — Provides the primary framework library for audio and video playback, session management, and media routing on Android.
- [Metadata Managers](https://awesome-repositories.com/f/mobile-development/android-media-frameworks/metadata-managers.md) — Organizes descriptive labels, content channels, and DRM configurations for media items and playlists.
- [Media Library Access](https://awesome-repositories.com/f/mobile-development/media-library-access.md) — Provides interfaces for navigating structured content libraries to select media items for playback. ([source](https://developer.android.com/guide/topics/media/media3))

### Software Engineering & Architecture

- [Player Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/player-abstractions.md) — Decouples playback logic from specific media engines using a common set of controls and state query methods.

### Content Management & Publishing

- [Media Content Managers](https://awesome-repositories.com/f/content-management-publishing/content-management-systems/content-architecture-modeling/content-organization-systems/media-content-managers.md) — Defines media content configurations including DRM, live playback settings, clipping, and subtitles. ([source](https://developer.android.com/reference/androidx/media3/common/package-summary))

### Development Tools & Productivity

- [Usage & Capture Policies](https://awesome-repositories.com/f/development-tools-productivity/device-set-managers/device-profile-configurations/audio-output-configurations/usage-capture-policies.md) — Sets audio usage, content types, and capture policies to define the platform audio track. ([source](https://developer.android.com/reference/androidx/media3/common/package-summary))

### Operating Systems & Systems Programming

- [Shared Memory Arrays](https://awesome-repositories.com/f/operating-systems-systems-programming/shared-memory-arrays.md) — Moves raw media data between processes using shared memory mapped files to avoid expensive copying.

### User Interface & Experience

- [Playback State Synchronizations](https://awesome-repositories.com/f/user-interface-experience/playback-state-synchronizations.md) — Synchronizes playback state between external controllers and OS overlays to maintain consistency.
