Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Android Media Playback with Media3 ExoPlayer and Compose
Rating: 4.7 out of 5(23 ratings)
105 students

Android Media Playback with Media3 ExoPlayer and Compose

Use Media3 ExoPlayer and Jetpack Compose to build an interactive media playback experience for Android.
Created byBaiqin Wang
Last updated 3/2025
English

What you'll learn

  • Build an interactive media playback user interface using Jetpack Compose and Media3.
  • Understand the main components of Jetpack Media3 and their use cases.
  • Gain a deep understanding of TextureView and SurfaceView, the two primary video sinks for ExoPlayer.
  • Learn about adaptive streaming, media codecs, and how these concepts are implemented in ExoPlayer.
  • Explore how to insert video ads into your stream using ExoPlayer, and learn about VAST and VMAP.
  • Gain a deep understanding of Digital Rights Management (DRM) and how to configure ExoPlayer for DRM-protected streams.
  • Understand media resource limitations on Android and how to manage them efficiently.

Course content

8 sections54 lectures7h 8m total length
  • Who can take this course1:09
  • Course primary goal1:30

    Master media playback features using Exoplayer while maintaining a clean, straightforward app interface. Build a solid foundation in general media technologies to effectively use Exoplayer and avoid overemphasizing architecture.

  • What you will learn in this course2:41

    Explore the Android media playback workflow with Media3 ExoPlayer and Jetpack Compose, covering ExoPlayer core, ExoPlayer UI, media session, transformer, ad insertion, and DRM integration.

Requirements

  • No prior knowledge of media playback is required.
  • A few months of experience in Android development.
  • A few months of experience using Jetpack Compose.

Description

In this course, you'll learn how to build a fully functional media playback app using Android’s modern Media3 ExoPlayer library. We’ll focus on integrating media playback seamlessly while leveraging Jetpack Compose for a modern and interactive UI.

This course is designed for Android developers who want to implement media playback in their apps. While prior experience with media playback isn’t required, you should have a decent understanding of Android development and be familiar with Jetpack Compose. The primary goal is to explore ExoPlayer and its capabilities rather than focusing on clean architecture.

What You Will Learn

  • Media3 Library Overview
    Understand the core components of Media3, including exoPlayer, exoPlayer-ui, mediaSession, and transformer. This course primarily focuses on ExoPlayer for handling audio and video playback.

  • TextureView vs. SurfaceView
    Learn the differences between TextureView and SurfaceView, the two primary video sinks used for rendering video content.

  • Interactive UI with Jetpack Compose
    Build an interactive playback interface using Jetpack Compose with features like video seeking, track selection, and time bar rendering while optimizing memory usage.

  • Media Codecs & Media Sources
    Explore adaptive streaming, media codecs, and container formats, and examine how different components in ExoPlayer interact during media playback.

  • Video Ads with ExoPlayer IMA
    Learn how to insert video ads using the Interactive Media Ads (IMA) SDK with ExoPlayer. Get an introduction to VAST (Video Ad Serving Template) and VMAP (Video Multiple Ad Playlist).

  • Digital Rights Management (DRM)
    Get a deep understanding or how DRM works in Android and how to configure ExoPlayer to play a DRM protected content.

By the end of this course, you’ll have a deep understanding of ExoPlayer and be able to integrate high-performance media playback into your Android apps.

Who this course is for:

  • Beginner Android media developers who want to get started with Media3 ExoPlayer.
  • Developers who already have some experience in Android media playback and want to strengthen their knowledge.