The Android framework provides MediaPlayer as a quick solution for playing
media with minimal code, and the MediaCodec and MediaExtractor
classes are provided for building custom media players.
ExoPlayer is
an open source project that provides a solution falling somewhere between these two options.
It is a player that you can modify and extend.
ExoPlayer supports features not currently provided by MediaPlayer,
including Dynamic adaptive streaming over HTTP (DASH), SmoothStreaming and Common Encryption. It's
designed to be easy to customize and extend, allowing many components to be replaced with custom
implementations. Because ExoPlayer is a library that you include in your application, it can be
easily updated along with your app.
Note: ExoPlayer is an open source project that is not part of the Android framework and is distributed separately from the Android SDK. Visit the links below to find out more.
- ExoPlayer—The project homepage.
- Developer guide—Provides a wealth of information to help you get started.
- GitHub project—Contains the source code, as well as a demo app.