ExoPlayer adalah library untuk memutar media seperti video dan audio, library ini open source dan bukan bagian dari framework android, Exoplayer di distribusikan secara terpisah dari Android SDK. Di nilai oleh beberapa developer, framework ini lebih unggul dibanding MediaPlayer bawaan Android.

Exoplayer mudah dalam pengembangan dan kustomisasi, Exoplayer adalah project opensource yang telah banyak digunakan oleh aplikasi terkenal seperti YouTube, Google Play Film dan Aplikasi MGI TV Official.

Exoplayer juga memiliki fitur seperti Dynamic Adaptive streaming over HTTP (DASH), SMoothStreaming dan Common Encryption yang di dukung oleh MediaPlayer.

Bagaimana Menggunakan ExoPlayer Untuk Video Player ?

Di dalam tulisan ini kamu akan membuat aplikasi video player sederhana menggunakan ExoPlayer.

  • Tambah Depedensi : Tambahkan baris kode dibawah ini di file build.gradle (Module : app) :
    implementation 'com.google.android.exoplayer:exoplayer-core:2.7.3'
    implementation 'com.google.android.exoplayer:exoplayer-dash:2.7.3'
    implementation 'com.google.android.exoplayer:exoplayer-ui:2.7.3'
  • File Android Manifest : Selanjutnya tambahkan permission internet dan permission penyimpanan di file Android Manifest untuk mendapatkan url video.
<uses-permission android:name=”android.permission.INTERNET”/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Permission yang ditambahkan di Android Manifest berfungsi agar ponsel dapat memberikan izin kepada aplikasi yang kita buat ini untuk membaca media penyimpanan (karena akan memutar video yang ada di dalam media penyimpanan).

  • Buat Folder dengan nama video dan masukan video berformat mp4 misal kajian.mp4 di media penyimpanan internal ponsel kamu, karena nantinya video player nya akan membaca file video kajian.mp4 di folder bernama video pada penyimpanan internal ponsel.
  • Buat UI ExoPlayer : Untuk membuat UI ExoPlayer nya saya menggunakan activity_main (yang sudah ada secara default ketika membuat new project di Android Studio) Tambahkan kode dibawah ini di file activity_main tersebut :
        <com.google.android.exoplayer2.ui.PlayerView
        android:id="@+id/video_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:focusable="true" />
  • Buat File Java Class: Untuk file java nya juga saya menggunakan file java class yang sudah ada secara default yaitu MainActivity.java.

Di file Java Class kita buat variabel PlayerView playerView; yang diletak kan sebelum OnCreate lalu tambahkan kode dibawah ini :

private void initializePlayer() {
        SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(
                new DefaultRenderersFactory(this),
                new DefaultTrackSelector(), new DefaultLoadControl());

//kode untuk pemanggilan video yang sudah kita siapkan sebelumnya di media penyimpanan internal
        String filePath = Environment.getExternalStorageDirectory() + File.separator +
                "video" + File.separator + "kajian.mp4";
        Log.e("filepath", filePath);
        Uri uri = Uri.parse(filePath);

        ExtractorMediaSource audioSource = new ExtractorMediaSource(
                uri,
                new DefaultDataSourceFactory(this, "MyExoplayer"),
                new DefaultExtractorsFactory(),
                null,
                null
        );

        player.prepare(audioSource);
        playerView.setPlayer(player);
        player.setPlayWhenReady(true);
    }

Perhatikan potongan kode dari MainActivity diatas :

String filePath = Environment.getExternalStorageDirectory() + File.separator +
        "video" + File.separator + "kajian.mp4";
Log.e("filepath", filePath);
Uri uri = Uri.parse(filePath);

Catatan

video adalah nama folder (bisa disesuaikan).
kajian.mp4 adalah nama file video yang ada di folder video (bisa disesuaikan).

Sekarang jika sudah selesai coba jalankan. Jika ada masalah dan barangkali yang mau ditanyakan bisa tanyakan di kolom komentar ya, Insya Allah dengan keterbatasan waktu saya akan menjawab dengan apa yang saya tau.

Informasi Lain Tentang ExoPlayer

Selama saya mengerjakan aplikasi MGI TV Official saya menemukan hal menarik tentang ExoPlayer ini dan saya bagikan sumbernya di artikel ini untuk bisa kamu pelajari sendiri.

google/ExoPlayer

ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks.

dan panduan pengembangan untuk ExoPlayer.

Hello world!

Another way to get started is to work through the ExoPlayer codelab. For simple use cases, getting started with ExoPlayer consists of implementing the following steps: Add ExoPlayer as a dependency to your project. Create a SimpleExoPlayer instance. Attach the player to a view (for video output and user input).

Ini adalah blog yang membahas seputar ExoPlayer, di blog ini kamu akan mendapatkan infromasi terbaru terkait ExoPlayer.

Media streaming with ExoPlayer

ExoPlayer is the video player running in the Android YouTube app. Screenshot: The YouTube Android app ExoPlayer is an application level media player built on top of Android’s low level media APIs. ExoPlayer has a number of advantages over Android’s built-in MediaPlayer.

Sebagai Penutup

Pada paragraf pertama saya menyebutkan MGI TV official sebagai aplikasi yang menggunakan library ExoPlayer, nah apa itu ?

MGI TV Official adalah aplikasi streaming video kajian islam yang terhubung dengan satelit parabola frekuensi 4057 simbol rate 2727. Dengan aplikasi ini kita bisa menyimak kajian live streaming meskipun kita tidak memiliki parabola di rumah. Hal menariknya, selain nonton live. Kamu bisa menyimak konten kajian lain secara berulang.

Aplikasi MGI TV official ini menggunakan library ExoPlayer untuk pemutar live streaming nya dan untuk mengaktifkan fungsi play dari latar bekalang.

MGI TV Official – Apps on Google Play

Didalam aplikasi MGI TV Official Anda bisa melihat dan mendengarkan ceramah agama secara LIVE melalui video streaming MGI TV atau rekaman kajian. Selain LIVE streaming, Anda juga bisa mendengarkan atau melihat ceramah agama yang sudah kami sediakan.