Media‐3 Playback Components - devrath/MediaAlchemySuite GitHub Wiki

Playback Components

overview

Media Controller

  • It is a class that is used to send commands from outside the app.
  • Example is other app or the system itself.
  • The commands are sent to the underlying player of the associated media session.
  • MediaController class implements the player interface.
  • When we call a method, The command gets sent to the associated media-session.
  • Client apps like google assistant, use the media-controller to control the playback in the media session.

Media Browser

  • It allows the user to navigate through the media in the app and select which item to play.
  • MediaBrowser implements both Player and the MediaController interfaces.
  • Client app such as AndroidAuto implements MediaBrowser.

Media Session

player2

  • Media session allows your app to interact with the player whether it's an audio or a video player.
  • They advertise the media playback externally and receive commands from external sources.
  • In the media3 we need a player to execute commands and retrieve the current state.

Media Session Service

  • It holds the Player and the PlayerSession in a separate service to facilitate background playback.

Media Library Service

  • It is similar to media session service but instead it will hold the additional API's to serve your content library to media apps.
⚠️ **GitHub.com Fallback** ⚠️