What is Media‐3 - devrath/MediaAlchemySuite GitHub Wiki

About

  • Using the Jetpack-media3 we can provide a rich audio and video experience
  • The media-3 offers
    • Simple Architecture.
    • Powerful Customization.
    • Optimization based on device capabilities.
  • The optimizations are provided based on device fragmentation and compatibility scenarios are handled.

Primary Distinction

  • The primary distinction that separates media3 from the rest of the APIs is that there is no longer the need for connectors between components.
  • The media session class takes any class that implements the player interface.
  • Both the exo-player and the media-controller implement the interface. This facilitates simpler interaction between the components.

The Media Player

  • Media player is a component of your app that allows the playback of media files.

player drawio

Player

  • It is an interface that defines the higher-level capabilities of a player.
  • Capability includes the ability to pause, play, and seek.
  • The jetpack-media-3 provides a player interface. This defines the functionality of play, pause, seek, etc.
  • It is implemented by several components like MediaSession, and MedaiController.

ExoPlayer

  • It is the default implementation of the player interface in media3.
  • We know that a media player is an app-level component that allows the playback of audio and video files.
  • It adds additional properties like support for streaming protocols, default audio and video renderers.
  • It handles media buffering.

Media3 Exoplayer

  • Media-3 is an app-level component allowing us to play audio and video files.
  • These files can be stored locally and played via the player.
  • These can be kept in a remote location and streamed over the internet to your device.
  • Media-3 provides player interface that provides basic functions like play, pause, seek and display-information