ExoPlayer / Media3
ExoPlayer is Google's open-source media player library for Android apps, now part of the AndroidX Media3 project. ExoPlayer plays HLS, MPEG-DASH, Smooth Streaming and progressive files, with support for Widevine DRM, captions, ads and background audio. Developers prefer it to Android's older built-in MediaPlayer because it is more flexible and gets updates outside operating system releases.
Why it matters
Android has thousands of device models with different hardware decoders, and a weak player shows up as crashes, stalls and bad reviews. ExoPlayer, now part of Jetpack Media3, gives apps a maintained, flexible player for adaptive streaming and DRM on Android, which reduces device-specific bugs.
How it works
- The app builds an ExoPlayer instance and attaches it to a player view on screen.
- It passes a media item, such as an HLS or DASH address, to the player.
- The player fetches segments, selects tracks and decodes video with the device's hardware decoders.
- Media3 session components connect playback to notifications, lock screens and connected devices.
Is ExoPlayer deprecated?
The standalone ExoPlayer library is discontinued, but ExoPlayer itself lives on inside AndroidX Media3. Apps using the old com.google.android.exoplayer2 package should migrate to androidx.media3, and Google provides a migration script. New Android apps should start directly with Media3, which receives ongoing updates.
ExoPlayer vs MediaPlayer: which should I use?
Use ExoPlayer from Media3 for most streaming apps. Android's built-in MediaPlayer handles simple file playback but has limited support for adaptive streaming, DRM and customization. ExoPlayer supports HLS, DASH, Widevine DRM and custom behavior, and it is updated through the app rather than the operating system.
Where it's used
OTT services, short video apps and online learning apps on Android use ExoPlayer to stream HLS and DASH with Widevine DRM, offline downloads and background playback.
By the numbers
- Android's documentation calls AndroidX Media3 the new home of ExoPlayer and states that the standalone com.google.android.exoplayer2 library is discontinued. (Migrate to Media3, Android Developers)


