48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
---
|
|
title: Pros and cons
|
|
---
|
|
|
|
ExoPlayer has a number of advantages over Android's built in MediaPlayer:
|
|
|
|
* Fewer device specific issues and less variation in behavior across different
|
|
devices and versions of Android.
|
|
* The ability to update the player along with your application. Because
|
|
ExoPlayer is a library that you include in your application apk, you have
|
|
control over which version you use and you can easily update to a newer
|
|
version as part of a regular application update.
|
|
* The ability to [customize and extend the player][] to suit your use case.
|
|
ExoPlayer is designed specifically with this in mind, and allows many
|
|
components to be replaced with custom implementations.
|
|
* Support for [playlists][].
|
|
* Support for [DASH][] and [SmoothStreaming][], neither of which are supported
|
|
by MediaPlayer. Many other formats are also supported. See the [Supported
|
|
formats page][] for details.
|
|
* Support for advanced [HLS][] features, such as correct handling of
|
|
`#EXT-X-DISCONTINUITY` tags.
|
|
* Support for [Widevine common encryption][] on Android 4.4 (API level 19) and
|
|
higher.
|
|
* The ability to quickly integrate with a number of additional libraries using
|
|
official extensions. For example the [IMA extension][] makes it easy to
|
|
monetize your content using the [Interactive Media Ads SDK][].
|
|
|
|
It's important to note that there are also some disadvantages:
|
|
|
|
* For audio only playback on some devices, ExoPlayer may consume significantly
|
|
more battery than MediaPlayer. See the [Battery consumption page][] for
|
|
details.
|
|
* Including ExoPlayer in your app adds a few hundred kilobytes to the APK size.
|
|
This is likely only a concern for extremely lightweight apps. Guidance for
|
|
shrinking ExoPlayer can be found on the [APK shrinking page][].
|
|
|
|
[Supported formats page]: {{ site.baseurl }}/supported-formats.html
|
|
[IMA extension]: {{ site.release_v2 }}/extensions/ima
|
|
[Interactive Media Ads SDK]: https://developers.google.com/interactive-media-ads
|
|
[Battery consumption page]: {{ site.baseurl }}/battery-consumption.html
|
|
[customize and extend the player]: {{ site.baseurl }}/customization.html
|
|
[APK shrinking page]: {{ site.baseurl }}/shrinking.html
|
|
[playlists]: {{ site.baseurl }}/playlists.html
|
|
[DASH]: {{ site.baseurl }}/dash.html
|
|
[SmoothStreaming]: {{ site.baseurl }}/smoothstreaming.html
|
|
[HLS]: {{ site.baseurl }}/hls.html
|
|
[Widevine common encryption]: {{ site.baseurl }}/drm.html
|