![]() |
VOOZH | about |
ExoPlayerView is one of the most used UI components in many apps such as YouTube, Netflix, and many video streaming platforms. ExoPlayerView is used for audio as well as video streaming in Android apps. Many Google apps use ExoPlayerView for streaming audios and videos. ExoPlayer is a media player library that provides a way to play audio and video with lots of customization in it. It is an alternative that is used to play videos and audios in Android along with MediaPlayer. ExoPlayer is a library that is the best alternative source for playing audio and videos on Android. This library will also help you to customize your media player according to our requirements.
ExoPlayer | MediaPlayer |
|---|---|
| ExoPlayer supports dynamic streaming over HTTP. | MediaPlayer does not support dynamic support over HTTP. |
| It provides smooth streaming and encryption for the played video. | MediaPlayer does not provide smooth streaming and encryption for the video. |
| ExoPlayer provides support to clip or merge your media files. | MediaPlayer does not provide any support for clipping and merging of media files. |
| ExoPlayer can be customized according to our requirements. | MediaPlayer cannot be customized according to our requirements. |
| ExoPlayer is able to stream audio and video files directly from the server without downloading. | Media Player is not able to play audio and video files directly from the server. |
| ExoPlayer is released in API level 16 and it will not work on the device below API level 16. | Media Player was released in API level 1 and it works on all devices. |
| ExoPlayer easily handles buffering of audio and video files. | Media Player is not able to handle buffering of audio and videos. |
We will be creating a simple video player app in which we will be fetching a video from a URL and play that video inside our ExoPlayer.
To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio.
Note: that select Java as the programming language.
Navigate to the Gradle Scripts > build.gradle(Module:app) and add the below dependency in the dependencies section.
implementation "androidx.media3:media3-exoplayer:1.3.1"
implementation "androidx.media3:media3-exoplayer-dash:1.3.1"
implementation "androidx.media3:media3-ui:1.3.1"
After adding this dependency sync the project.
Note: This is the latest version androidx.media3 all the previous versions are considered depreciated.
Navigate to the app > manifest folder and write down the following permissions to it.
<!--Internet permission and network access permission-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Now we will start implementing our ExoPlayerView in our XML file. Navigate to the app > res > layout > activity_main.xml. Inside that file add the below code.
Navigate to the app > java > your apps package name > MainActivity.java file. Inside that file add the below code. Comments are added inside the code to understand the code in more detail.
Note: We have used this video in this project.