A media button receiver receives and helps translate hardware media playback buttons, such as
those found on wired and wireless headsets, into the appropriate callbacks in your app.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# android.support.v4.media.session\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \n\nandroid.support.v4.media.session\n================================\n\n| This package is part of the Android [support library](/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](/jetpack/androidx) which is part of [Jetpack](/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class\n| mappings](/jetpack/androidx/migrate/class-mappings).\n\nInterfaces\n----------\n\n|------------------------------------------------------------------------------------------------------------------------------------|---|\n| [MediaSessionCompat.OnActiveChangeListener](/reference/android/support/v4-media-session/MediaSessionCompat.OnActiveChangeListener) | |\n\nClasses\n-------\n\n|----------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [MediaButtonReceiver](/reference/android/support/v4-media-session/MediaButtonReceiver) | A media button receiver receives and helps translate hardware media playback buttons, such as those found on wired and wireless headsets, into the appropriate callbacks in your app. |\n| [MediaControllerCompat](/reference/android/support/v4-media-session/MediaControllerCompat) | Allows an app to interact with an ongoing media session. |\n| [MediaControllerCompat.Callback](/reference/android/support/v4-media-session/MediaControllerCompat.Callback) | Callback for receiving updates on from the session. |\n| [MediaControllerCompat.PlaybackInfo](/reference/android/support/v4-media-session/MediaControllerCompat.PlaybackInfo) | Holds information about the way volume is handled for this session. |\n| [MediaControllerCompat.TransportControls](/reference/android/support/v4-media-session/MediaControllerCompat.TransportControls) | Interface for controlling media playback on a session. |\n| [MediaSessionCompat](/reference/android/support/v4-media-session/MediaSessionCompat) | Allows interaction with media controllers, volume keys, media buttons, and transport controls. |\n| [MediaSessionCompat.Callback](/reference/android/support/v4-media-session/MediaSessionCompat.Callback) | Receives transport controls, media buttons, and commands from controllers and the system. |\n| [MediaSessionCompat.QueueItem](/reference/android/support/v4-media-session/MediaSessionCompat.QueueItem) | A single item that is part of the play queue. |\n| [MediaSessionCompat.Token](/reference/android/support/v4-media-session/MediaSessionCompat.Token) | Represents an ongoing session. |\n| [ParcelableVolumeInfo](/reference/android/support/v4-media-session/ParcelableVolumeInfo.) | Convenience class for passing information about the audio configuration of a [MediaSessionCompat](/reference/android/support/v4-media-session/MediaSessionCompat). |\n| [PlaybackStateCompat](/reference/android/support/v4-media-session/PlaybackStateCompat) | Playback state for a [MediaSessionCompat](/reference/android/support/v4-media-session/MediaSessionCompat). |\n| [PlaybackStateCompat.Builder](/reference/android/support/v4-media-session/PlaybackStateCompat.Builder) | Builder for [PlaybackStateCompat](/reference/android/support/v4-media-session/PlaybackStateCompat) objects. |\n| [PlaybackStateCompat.CustomAction](/reference/android/support/v4-media-session/PlaybackStateCompat.CustomAction) | [CustomActions](/reference/android/support/v4-media-session/PlaybackStateCompat.CustomAction) can be used to extend the capabilities of the standard transport controls by exposing app specific actions to [Controllers](/reference/android/support/v4-media-session/MediaControllerCompat). |\n| [PlaybackStateCompat.CustomAction.Builder](/reference/android/support/v4-media-session/PlaybackStateCompat.CustomAction.Builder) | Builder for [PlaybackStateCompat.CustomAction](/reference/android/support/v4-media-session/PlaybackStateCompat.CustomAction) objects. |\n\n-\n\n Interfaces\n ----------\n\n - [MediaSessionCompat.OnActiveChangeListener](/reference/android/support/v4-media-session/MediaSessionCompat.OnActiveChangeListener)\n-\n\n Classes\n -------\n\n - [MediaButtonReceiver](/reference/android/support/v4/media/session/MediaButtonReceiver)\n - [MediaControllerCompat](/reference/android/support/v4-media-session/MediaControllerCompat)\n - [MediaControllerCompat.Callback](/reference/android/support/v4-media-session/MediaControllerCompat.Callback)\n - [MediaControllerCompat.PlaybackInfo](/reference/android/support/v4-media-session/MediaControllerCompat.PlaybackInfo)\n - [MediaControllerCompat.TransportControls](/reference/android/support/v4-media-session/MediaControllerCompat.TransportControls)\n - [MediaSessionCompat](/reference/android/support/v4-media-session/MediaSessionCompat)\n - [MediaSessionCompat.Callback](/reference/android/support/v4-media-session/MediaSessionCompat.Callback)\n - [MediaSessionCompat.QueueItem](/reference/android/support/v4-media-session/MediaSessionCompat.QueueItem)\n - [MediaSessionCompat.Token](/reference/android/support/v4-media-session/MediaSessionCompat.Token)\n - [ParcelableVolumeInfo](/reference/android/support/v4-media-session/ParcelableVolumeInfo.)\n - [PlaybackStateCompat](/reference/android/support/v4-media-session/PlaybackStateCompat)\n - [PlaybackStateCompat.Builder](/reference/android/support/v4-media-session/PlaybackStateCompat.Builder)\n - [PlaybackStateCompat.CustomAction](/reference/android/support/v4-media-session/PlaybackStateCompat.CustomAction)\n - [PlaybackStateCompat.CustomAction.Builder](/reference/android/support/v4-media-session/PlaybackStateCompat.CustomAction.Builder)"]]