ExoPlayer is an open source project that is not part of the Android framework and is distributed separately from the Android SDK. ExoPlayer’s standard audio and video components are built on Android’s MediaCodec API, which was released in Android 4.1 (API level 16). Because ExoPlayer is a library, you can easily take advantage of new features as they become available by updating your app.
ExoPlayer supports features like Dynamic adaptive streaming over HTTP (DASH), SmoothStreaming
and Common Encryption, which are not supported by
designed to be easy to customize and extend.
There are a number of sample apps that demonstrate how to use ExoPlayer for audio and video playback:
- UAMP—The Universal Music Player uses ExoPlayer for local audio playback.
- Leanback sample app—Android TV Leanback Support Library Sample App uses ExoPlayer for video playback on Android TV.
- ExoPlayer demo app—The official repository contains a demo app that showcases many advanced capabilities of the library.
- Codelab—Demonstrates how to build an Activity that plays media using ExoPlayer.
Additional code samples
The Android DeviceOwner sample further demonstrates the use of the APIs covered on this page.