package android.support.v4.media { public final class MediaBrowserCompat { ctor public MediaBrowserCompat(android.content.Context, android.content.ComponentName, android.support.v4.media.MediaBrowserCompat.ConnectionCallback, android.os.Bundle); method public void connect(); method public void disconnect(); method public android.os.Bundle getExtras(); method public void getItem(java.lang.String, android.support.v4.media.MediaBrowserCompat.ItemCallback); method public java.lang.String getRoot(); method public android.content.ComponentName getServiceComponent(); method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken(); method public boolean isConnected(); method public void search(java.lang.String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SearchCallback); method public void sendCustomAction(java.lang.String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.CustomActionCallback); method public void subscribe(java.lang.String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback); method public void subscribe(java.lang.String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback); method public void unsubscribe(java.lang.String); method public void unsubscribe(java.lang.String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback); field public static final java.lang.String CUSTOM_ACTION_DOWNLOAD = "android.support.v4.media.action.DOWNLOAD"; field public static final java.lang.String CUSTOM_ACTION_REMOVE_DOWNLOADED_FILE = "android.support.v4.media.action.REMOVE_DOWNLOADED_FILE"; field public static final java.lang.String EXTRA_DOWNLOAD_PROGRESS = "android.media.browse.extra.DOWNLOAD_PROGRESS"; field public static final java.lang.String EXTRA_MEDIA_ID = "android.media.browse.extra.MEDIA_ID"; field public static final java.lang.String EXTRA_PAGE = "android.media.browse.extra.PAGE"; field public static final java.lang.String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE"; } public static class MediaBrowserCompat.ConnectionCallback { ctor public MediaBrowserCompat.ConnectionCallback(); method public void onConnected(); method public void onConnectionFailed(); method public void onConnectionSuspended(); } public static abstract class MediaBrowserCompat.CustomActionCallback { ctor public MediaBrowserCompat.CustomActionCallback(); method public void onError(java.lang.String, android.os.Bundle, android.os.Bundle); method public void onProgressUpdate(java.lang.String, android.os.Bundle, android.os.Bundle); method public void onResult(java.lang.String, android.os.Bundle, android.os.Bundle); } public static abstract class MediaBrowserCompat.ItemCallback { ctor public MediaBrowserCompat.ItemCallback(); method public void onError(java.lang.String); method public void onItemLoaded(android.support.v4.media.MediaBrowserCompat.MediaItem); } public static class MediaBrowserCompat.MediaItem implements android.os.Parcelable { ctor public MediaBrowserCompat.MediaItem(android.support.v4.media.MediaDescriptionCompat, int); method public int describeContents(); method public static android.support.v4.media.MediaBrowserCompat.MediaItem fromMediaItem(java.lang.Object); method public static java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem> fromMediaItemList(java.util.List<?>); method public android.support.v4.media.MediaDescriptionCompat getDescription(); method public int getFlags(); method public java.lang.String getMediaId(); method public boolean isBrowsable(); method public boolean isPlayable(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaBrowserCompat.MediaItem> CREATOR; field public static final int FLAG_BROWSABLE = 1; // 0x1 field public static final int FLAG_PLAYABLE = 2; // 0x2 } public static abstract class MediaBrowserCompat.SearchCallback { ctor public MediaBrowserCompat.SearchCallback(); method public void onError(java.lang.String, android.os.Bundle); method public void onSearchResult(java.lang.String, android.os.Bundle, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>); } public static abstract class MediaBrowserCompat.SubscriptionCallback { ctor public MediaBrowserCompat.SubscriptionCallback(); method public void onChildrenLoaded(java.lang.String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>); method public void onChildrenLoaded(java.lang.String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>, android.os.Bundle); method public void onError(java.lang.String); method public void onError(java.lang.String, android.os.Bundle); } public final class MediaDescriptionCompat implements android.os.Parcelable { method public int describeContents(); method public static android.support.v4.media.MediaDescriptionCompat fromMediaDescription(java.lang.Object); method public java.lang.CharSequence getDescription(); method public android.os.Bundle getExtras(); method public android.graphics.Bitmap getIconBitmap(); method public android.net.Uri getIconUri(); method public java.lang.Object getMediaDescription(); method public java.lang.String getMediaId(); method public android.net.Uri getMediaUri(); method public java.lang.CharSequence getSubtitle(); method public java.lang.CharSequence getTitle(); method public void writeToParcel(android.os.Parcel, int); field public static final long BT_FOLDER_TYPE_ALBUMS = 2L; // 0x2L field public static final long BT_FOLDER_TYPE_ARTISTS = 3L; // 0x3L field public static final long BT_FOLDER_TYPE_GENRES = 4L; // 0x4L field public static final long BT_FOLDER_TYPE_MIXED = 0L; // 0x0L field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaDescriptionCompat> CREATOR; field public static final java.lang.String EXTRA_BT_FOLDER_TYPE = "android.media.extra.BT_FOLDER_TYPE"; field public static final java.lang.String EXTRA_DOWNLOAD_STATUS = "android.media.extra.DOWNLOAD_STATUS"; field public static final long STATUS_DOWNLOADED = 2L; // 0x2L field public static final long STATUS_DOWNLOADING = 1L; // 0x1L field public static final long STATUS_NOT_DOWNLOADED = 0L; // 0x0L } public static final class MediaDescriptionCompat.Builder { ctor public MediaDescriptionCompat.Builder(); method public android.support.v4.media.MediaDescriptionCompat build(); method public android.support.v4.media.MediaDescriptionCompat.Builder setDescription(java.lang.CharSequence); method public android.support.v4.media.MediaDescriptionCompat.Builder setExtras(android.os.Bundle); method public android.support.v4.media.MediaDescriptionCompat.Builder setIconBitmap(android.graphics.Bitmap); method public android.support.v4.media.MediaDescriptionCompat.Builder setIconUri(android.net.Uri); method public android.support.v4.media.MediaDescriptionCompat.Builder setMediaId(java.lang.String); method public android.support.v4.media.MediaDescriptionCompat.Builder setMediaUri(android.net.Uri); method public android.support.v4.media.MediaDescriptionCompat.Builder setSubtitle(java.lang.CharSequence); method public android.support.v4.media.MediaDescriptionCompat.Builder setTitle(java.lang.CharSequence); } public final class MediaMetadataCompat implements android.os.Parcelable { method public boolean containsKey(java.lang.String); method public int describeContents(); method public static android.support.v4.media.MediaMetadataCompat fromMediaMetadata(java.lang.Object); method public android.graphics.Bitmap getBitmap(java.lang.String); method public android.os.Bundle getBundle(); method public android.support.v4.media.MediaDescriptionCompat getDescription(); method public long getLong(java.lang.String); method public java.lang.Object getMediaMetadata(); method public android.support.v4.media.RatingCompat getRating(java.lang.String); method public java.lang.String getString(java.lang.String); method public java.lang.CharSequence getText(java.lang.String); method public java.util.Set<java.lang.String> keySet(); method public int size(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaMetadataCompat> CREATOR; field public static final java.lang.String METADATA_KEY_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT"; field public static final java.lang.String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM"; field public static final java.lang.String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART"; field public static final java.lang.String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST"; field public static final java.lang.String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI"; field public static final java.lang.String METADATA_KEY_ART = "android.media.metadata.ART"; field public static final java.lang.String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST"; field public static final java.lang.String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI"; field public static final java.lang.String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR"; field public static final java.lang.String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE"; field public static final java.lang.String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION"; field public static final java.lang.String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER"; field public static final java.lang.String METADATA_KEY_DATE = "android.media.metadata.DATE"; field public static final java.lang.String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER"; field public static final java.lang.String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION"; field public static final java.lang.String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON"; field public static final java.lang.String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI"; field public static final java.lang.String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE"; field public static final java.lang.String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE"; field public static final java.lang.String METADATA_KEY_DOWNLOAD_STATUS = "android.media.metadata.DOWNLOAD_STATUS"; field public static final java.lang.String METADATA_KEY_DURATION = "android.media.metadata.DURATION"; field public static final java.lang.String METADATA_KEY_GENRE = "android.media.metadata.GENRE"; field public static final java.lang.String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID"; field public static final java.lang.String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI"; field public static final java.lang.String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS"; field public static final java.lang.String METADATA_KEY_RATING = "android.media.metadata.RATING"; field public static final java.lang.String METADATA_KEY_TITLE = "android.media.metadata.TITLE"; field public static final java.lang.String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER"; field public static final java.lang.String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING"; field public static final java.lang.String METADATA_KEY_WRITER = "android.media.metadata.WRITER"; field public static final java.lang.String METADATA_KEY_YEAR = "android.media.metadata.YEAR"; } public static final class MediaMetadataCompat.Builder { ctor public MediaMetadataCompat.Builder(); ctor public MediaMetadataCompat.Builder(android.support.v4.media.MediaMetadataCompat); method public android.support.v4.media.MediaMetadataCompat build(); method public android.support.v4.media.MediaMetadataCompat.Builder putBitmap(java.lang.String, android.graphics.Bitmap); method public android.support.v4.media.MediaMetadataCompat.Builder putLong(java.lang.String, long); method public android.support.v4.media.MediaMetadataCompat.Builder putRating(java.lang.String, android.support.v4.media.RatingCompat); method public android.support.v4.media.MediaMetadataCompat.Builder putString(java.lang.String, java.lang.String); method public android.support.v4.media.MediaMetadataCompat.Builder putText(java.lang.String, java.lang.CharSequence); } public final class RatingCompat implements android.os.Parcelable { method public int describeContents(); method public static android.support.v4.media.RatingCompat fromRating(java.lang.Object); method public float getPercentRating(); method public java.lang.Object getRating(); method public int getRatingStyle(); method public float getStarRating(); method public boolean hasHeart(); method public boolean isRated(); method public boolean isThumbUp(); method public static android.support.v4.media.RatingCompat newHeartRating(boolean); method public static android.support.v4.media.RatingCompat newPercentageRating(float); method public static android.support.v4.media.RatingCompat newStarRating(int, float); method public static android.support.v4.media.RatingCompat newThumbRating(boolean); method public static android.support.v4.media.RatingCompat newUnratedRating(int); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.support.v4.media.RatingCompat> CREATOR; field public static final int RATING_3_STARS = 3; // 0x3 field public static final int RATING_4_STARS = 4; // 0x4 field public static final int RATING_5_STARS = 5; // 0x5 field public static final int RATING_HEART = 1; // 0x1 field public static final int RATING_NONE = 0; // 0x0 field public static final int RATING_PERCENTAGE = 6; // 0x6 field public static final int RATING_THUMB_UP_DOWN = 2; // 0x2 } } package android.support.v4.media.session { public final class MediaControllerCompat { ctor public MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat); ctor public MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat.Token) throws android.os.RemoteException; method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat); method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat, int); method public void adjustVolume(int, int); method public boolean dispatchMediaButtonEvent(android.view.KeyEvent); method public android.os.Bundle getExtras(); method public long getFlags(); method public static android.support.v4.media.session.MediaControllerCompat getMediaController(android.app.Activity); method public java.lang.Object getMediaController(); method public android.support.v4.media.MediaMetadataCompat getMetadata(); method public java.lang.String getPackageName(); method public android.support.v4.media.session.MediaControllerCompat.PlaybackInfo getPlaybackInfo(); method public android.support.v4.media.session.PlaybackStateCompat getPlaybackState(); method public java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem> getQueue(); method public java.lang.CharSequence getQueueTitle(); method public int getRatingType(); method public int getRepeatMode(); method public android.app.PendingIntent getSessionActivity(); method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken(); method public int getShuffleMode(); method public android.support.v4.media.session.MediaControllerCompat.TransportControls getTransportControls(); method public boolean isCaptioningEnabled(); method public boolean isSessionReady(); method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback); method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback, android.os.Handler); method public void removeQueueItem(android.support.v4.media.MediaDescriptionCompat); method public deprecated void removeQueueItemAt(int); method public void sendCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver); method public static void setMediaController(android.app.Activity, android.support.v4.media.session.MediaControllerCompat); method public void setVolumeTo(int, int); method public void unregisterCallback(android.support.v4.media.session.MediaControllerCompat.Callback); } public static abstract class MediaControllerCompat.Callback implements android.os.IBinder.DeathRecipient { ctor public MediaControllerCompat.Callback(); method public void binderDied(); method public void onAudioInfoChanged(android.support.v4.media.session.MediaControllerCompat.PlaybackInfo); method public void onCaptioningEnabledChanged(boolean); method public void onExtrasChanged(android.os.Bundle); method public void onMetadataChanged(android.support.v4.media.MediaMetadataCompat); method public void onPlaybackStateChanged(android.support.v4.media.session.PlaybackStateCompat); method public void onQueueChanged(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem>); method public void onQueueTitleChanged(java.lang.CharSequence); method public void onRepeatModeChanged(int); method public void onSessionDestroyed(); method public void onSessionEvent(java.lang.String, android.os.Bundle); method public void onSessionReady(); method public void onShuffleModeChanged(int); } public static final class MediaControllerCompat.PlaybackInfo { method public int getAudioStream(); method public int getCurrentVolume(); method public int getMaxVolume(); method public int getPlaybackType(); method public int getVolumeControl(); field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1 field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2 } public static abstract class MediaControllerCompat.TransportControls { method public abstract void fastForward(); method public abstract void pause(); method public abstract void play(); method public abstract void playFromMediaId(java.lang.String, android.os.Bundle); method public abstract void playFromSearch(java.lang.String, android.os.Bundle); method public abstract void playFromUri(android.net.Uri, android.os.Bundle); method public abstract void prepare(); method public abstract void prepareFromMediaId(java.lang.String, android.os.Bundle); method public abstract void prepareFromSearch(java.lang.String, android.os.Bundle); method public abstract void prepareFromUri(android.net.Uri, android.os.Bundle); method public abstract void rewind(); method public abstract void seekTo(long); method public abstract void sendCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction, android.os.Bundle); method public abstract void sendCustomAction(java.lang.String, android.os.Bundle); method public abstract void setCaptioningEnabled(boolean); method public abstract void setRating(android.support.v4.media.RatingCompat); method public abstract void setRating(android.support.v4.media.RatingCompat, android.os.Bundle); method public abstract void setRepeatMode(int); method public abstract void setShuffleMode(int); method public abstract void skipToNext(); method public abstract void skipToPrevious(); method public abstract void skipToQueueItem(long); method public abstract void stop(); field public static final java.lang.String EXTRA_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE"; } public class MediaSessionCompat { ctor public MediaSessionCompat(android.content.Context, java.lang.String); ctor public MediaSessionCompat(android.content.Context, java.lang.String, android.content.ComponentName, android.app.PendingIntent); method public void addOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener); method public static android.support.v4.media.session.MediaSessionCompat fromMediaSession(android.content.Context, java.lang.Object); method public android.support.v4.media.session.MediaControllerCompat getController(); method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentControllerInfo(); method public java.lang.Object getMediaSession(); method public java.lang.Object getRemoteControlClient(); method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken(); method public boolean isActive(); method public void release(); method public void removeOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener); method public void sendSessionEvent(java.lang.String, android.os.Bundle); method public void setActive(boolean); method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback); method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback, android.os.Handler); method public void setCaptioningEnabled(boolean); method public void setExtras(android.os.Bundle); method public void setFlags(int); method public void setMediaButtonReceiver(android.app.PendingIntent); method public void setMetadata(android.support.v4.media.MediaMetadataCompat); method public void setPlaybackState(android.support.v4.media.session.PlaybackStateCompat); method public void setPlaybackToLocal(int); method public void setPlaybackToRemote(androidx.media.VolumeProviderCompat); method public void setQueue(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem>); method public void setQueueTitle(java.lang.CharSequence); method public void setRatingType(int); method public void setRepeatMode(int); method public void setSessionActivity(android.app.PendingIntent); method public void setShuffleMode(int); field public static final java.lang.String ACTION_FLAG_AS_INAPPROPRIATE = "android.support.v4.media.session.action.FLAG_AS_INAPPROPRIATE"; field public static final java.lang.String ACTION_FOLLOW = "android.support.v4.media.session.action.FOLLOW"; field public static final java.lang.String ACTION_SKIP_AD = "android.support.v4.media.session.action.SKIP_AD"; field public static final java.lang.String ACTION_UNFOLLOW = "android.support.v4.media.session.action.UNFOLLOW"; field public static final java.lang.String ARGUMENT_MEDIA_ATTRIBUTE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE"; field public static final java.lang.String ARGUMENT_MEDIA_ATTRIBUTE_VALUE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE_VALUE"; field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1 field public static final int FLAG_HANDLES_QUEUE_COMMANDS = 4; // 0x4 field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2 field public static final int MEDIA_ATTRIBUTE_ALBUM = 1; // 0x1 field public static final int MEDIA_ATTRIBUTE_ARTIST = 0; // 0x0 field public static final int MEDIA_ATTRIBUTE_PLAYLIST = 2; // 0x2 } public static abstract class MediaSessionCompat.Callback { ctor public MediaSessionCompat.Callback(); method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat); method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat, int); method public void onCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver); method public void onCustomAction(java.lang.String, android.os.Bundle); method public void onFastForward(); method public boolean onMediaButtonEvent(android.content.Intent); method public void onPause(); method public void onPlay(); method public void onPlayFromMediaId(java.lang.String, android.os.Bundle); method public void onPlayFromSearch(java.lang.String, android.os.Bundle); method public void onPlayFromUri(android.net.Uri, android.os.Bundle); method public void onPrepare(); method public void onPrepareFromMediaId(java.lang.String, android.os.Bundle); method public void onPrepareFromSearch(java.lang.String, android.os.Bundle); method public void onPrepareFromUri(android.net.Uri, android.os.Bundle); method public void onRemoveQueueItem(android.support.v4.media.MediaDescriptionCompat); method public deprecated void onRemoveQueueItemAt(int); method public void onRewind(); method public void onSeekTo(long); method public void onSetCaptioningEnabled(boolean); method public void onSetRating(android.support.v4.media.RatingCompat); method public void onSetRating(android.support.v4.media.RatingCompat, android.os.Bundle); method public void onSetRepeatMode(int); method public void onSetShuffleMode(int); method public void onSkipToNext(); method public void onSkipToPrevious(); method public void onSkipToQueueItem(long); method public void onStop(); } public static abstract interface MediaSessionCompat.OnActiveChangeListener { method public abstract void onActiveChanged(); } public static final class MediaSessionCompat.QueueItem implements android.os.Parcelable { ctor public MediaSessionCompat.QueueItem(android.support.v4.media.MediaDescriptionCompat, long); method public int describeContents(); method public static android.support.v4.media.session.MediaSessionCompat.QueueItem fromQueueItem(java.lang.Object); method public static java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem> fromQueueItemList(java.util.List<?>); method public android.support.v4.media.MediaDescriptionCompat getDescription(); method public long getQueueId(); method public java.lang.Object getQueueItem(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.QueueItem> CREATOR; field public static final int UNKNOWN_ID = -1; // 0xffffffff } public static final class MediaSessionCompat.Token implements android.os.Parcelable { method public int describeContents(); method public static android.support.v4.media.session.MediaSessionCompat.Token fromToken(java.lang.Object); method public java.lang.Object getToken(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.Token> CREATOR; } public class ParcelableVolumeInfo implements android.os.Parcelable { ctor public ParcelableVolumeInfo(int, int, int, int, int); ctor public ParcelableVolumeInfo(android.os.Parcel); method public int describeContents(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.support.v4.media.session.ParcelableVolumeInfo> CREATOR; field public int audioStream; field public int controlType; field public int currentVolume; field public int maxVolume; field public int volumeType; } public final class PlaybackStateCompat implements android.os.Parcelable { method public int describeContents(); method public static android.support.v4.media.session.PlaybackStateCompat fromPlaybackState(java.lang.Object); method public long getActions(); method public long getActiveQueueItemId(); method public long getBufferedPosition(); method public java.util.List<android.support.v4.media.session.PlaybackStateCompat.CustomAction> getCustomActions(); method public int getErrorCode(); method public java.lang.CharSequence getErrorMessage(); method public android.os.Bundle getExtras(); method public long getLastPositionUpdateTime(); method public float getPlaybackSpeed(); method public java.lang.Object getPlaybackState(); method public long getPosition(); method public int getState(); method public static int toKeyCode(long); method public void writeToParcel(android.os.Parcel, int); field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L field public static final long ACTION_PAUSE = 2L; // 0x2L field public static final long ACTION_PLAY = 4L; // 0x4L field public static final long ACTION_PLAY_FROM_MEDIA_ID = 1024L; // 0x400L field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L field public static final long ACTION_PREPARE = 16384L; // 0x4000L field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L field public static final long ACTION_REWIND = 8L; // 0x8L field public static final long ACTION_SEEK_TO = 256L; // 0x100L field public static final long ACTION_SET_CAPTIONING_ENABLED = 1048576L; // 0x100000L field public static final long ACTION_SET_RATING = 128L; // 0x80L field public static final long ACTION_SET_REPEAT_MODE = 262144L; // 0x40000L field public static final long ACTION_SET_SHUFFLE_MODE = 2097152L; // 0x200000L field public static final deprecated long ACTION_SET_SHUFFLE_MODE_ENABLED = 524288L; // 0x80000L field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L field public static final long ACTION_STOP = 1L; // 0x1L field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat> CREATOR; field public static final int ERROR_CODE_ACTION_ABORTED = 10; // 0xa field public static final int ERROR_CODE_APP_ERROR = 1; // 0x1 field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED = 3; // 0x3 field public static final int ERROR_CODE_CONCURRENT_STREAM_LIMIT = 5; // 0x5 field public static final int ERROR_CODE_CONTENT_ALREADY_PLAYING = 8; // 0x8 field public static final int ERROR_CODE_END_OF_QUEUE = 11; // 0xb field public static final int ERROR_CODE_NOT_AVAILABLE_IN_REGION = 7; // 0x7 field public static final int ERROR_CODE_NOT_SUPPORTED = 2; // 0x2 field public static final int ERROR_CODE_PARENTAL_CONTROL_RESTRICTED = 6; // 0x6 field public static final int ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED = 4; // 0x4 field public static final int ERROR_CODE_SKIP_LIMIT_REACHED = 9; // 0x9 field public static final int ERROR_CODE_UNKNOWN_ERROR = 0; // 0x0 field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL field public static final int REPEAT_MODE_ALL = 2; // 0x2 field public static final int REPEAT_MODE_GROUP = 3; // 0x3 field public static final int REPEAT_MODE_INVALID = -1; // 0xffffffff field public static final int REPEAT_MODE_NONE = 0; // 0x0 field public static final int REPEAT_MODE_ONE = 1; // 0x1 field public static final int SHUFFLE_MODE_ALL = 1; // 0x1 field public static final int SHUFFLE_MODE_GROUP = 2; // 0x2 field public static final int SHUFFLE_MODE_INVALID = -1; // 0xffffffff field public static final int SHUFFLE_MODE_NONE = 0; // 0x0 field public static final int STATE_BUFFERING = 6; // 0x6 field public static final int STATE_CONNECTING = 8; // 0x8 field public static final int STATE_ERROR = 7; // 0x7 field public static final int STATE_FAST_FORWARDING = 4; // 0x4 field public static final int STATE_NONE = 0; // 0x0 field public static final int STATE_PAUSED = 2; // 0x2 field public static final int STATE_PLAYING = 3; // 0x3 field public static final int STATE_REWINDING = 5; // 0x5 field public static final int STATE_SKIPPING_TO_NEXT = 10; // 0xa field public static final int STATE_SKIPPING_TO_PREVIOUS = 9; // 0x9 field public static final int STATE_SKIPPING_TO_QUEUE_ITEM = 11; // 0xb field public static final int STATE_STOPPED = 1; // 0x1 } public static final class PlaybackStateCompat.Builder { ctor public PlaybackStateCompat.Builder(); ctor public PlaybackStateCompat.Builder(android.support.v4.media.session.PlaybackStateCompat); method public android.support.v4.media.session.PlaybackStateCompat.Builder addCustomAction(java.lang.String, java.lang.String, int); method public android.support.v4.media.session.PlaybackStateCompat.Builder addCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction); method public android.support.v4.media.session.PlaybackStateCompat build(); method public android.support.v4.media.session.PlaybackStateCompat.Builder setActions(long); method public android.support.v4.media.session.PlaybackStateCompat.Builder setActiveQueueItemId(long); method public android.support.v4.media.session.PlaybackStateCompat.Builder setBufferedPosition(long); method public deprecated android.support.v4.media.session.PlaybackStateCompat.Builder setErrorMessage(java.lang.CharSequence); method public android.support.v4.media.session.PlaybackStateCompat.Builder setErrorMessage(int, java.lang.CharSequence); method public android.support.v4.media.session.PlaybackStateCompat.Builder setExtras(android.os.Bundle); method public android.support.v4.media.session.PlaybackStateCompat.Builder setState(int, long, float); method public android.support.v4.media.session.PlaybackStateCompat.Builder setState(int, long, float, long); } public static final class PlaybackStateCompat.CustomAction implements android.os.Parcelable { method public int describeContents(); method public static android.support.v4.media.session.PlaybackStateCompat.CustomAction fromCustomAction(java.lang.Object); method public java.lang.String getAction(); method public java.lang.Object getCustomAction(); method public android.os.Bundle getExtras(); method public int getIcon(); method public java.lang.CharSequence getName(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat.CustomAction> CREATOR; } public static final class PlaybackStateCompat.CustomAction.Builder { ctor public PlaybackStateCompat.CustomAction.Builder(java.lang.String, java.lang.CharSequence, int); method public android.support.v4.media.session.PlaybackStateCompat.CustomAction build(); method public android.support.v4.media.session.PlaybackStateCompat.CustomAction.Builder setExtras(android.os.Bundle); } } package androidx.media { public class AudioAttributesCompat { method public int getContentType(); method public int getFlags(); method public int getLegacyStreamType(); method public int getUsage(); method public int getVolumeControlStream(); method public java.lang.Object unwrap(); method public static androidx.media.AudioAttributesCompat wrap(java.lang.Object); field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3 field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2 field public static final int CONTENT_TYPE_SONIFICATION = 4; // 0x4 field public static final int CONTENT_TYPE_SPEECH = 1; // 0x1 field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0 field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1 field public static final int FLAG_HW_AV_SYNC = 16; // 0x10 field public static final int USAGE_ALARM = 4; // 0x4 field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc field public static final int USAGE_ASSISTANCE_SONIFICATION = 13; // 0xd field public static final int USAGE_ASSISTANT = 16; // 0x10 field public static final int USAGE_GAME = 14; // 0xe field public static final int USAGE_MEDIA = 1; // 0x1 field public static final int USAGE_NOTIFICATION = 5; // 0x5 field public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9; // 0x9 field public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8; // 0x8 field public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7; // 0x7 field public static final int USAGE_NOTIFICATION_EVENT = 10; // 0xa field public static final int USAGE_NOTIFICATION_RINGTONE = 6; // 0x6 field public static final int USAGE_UNKNOWN = 0; // 0x0 field public static final int USAGE_VOICE_COMMUNICATION = 2; // 0x2 field public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3; // 0x3 } public static class AudioAttributesCompat.Builder { ctor public AudioAttributesCompat.Builder(); ctor public AudioAttributesCompat.Builder(androidx.media.AudioAttributesCompat); method public androidx.media.AudioAttributesCompat build(); method public androidx.media.AudioAttributesCompat.Builder setContentType(int); method public androidx.media.AudioAttributesCompat.Builder setFlags(int); method public androidx.media.AudioAttributesCompat.Builder setLegacyStreamType(int); method public androidx.media.AudioAttributesCompat.Builder setUsage(int); } public final class DataSourceDesc { method public long getEndPosition(); method public java.io.FileDescriptor getFileDescriptor(); method public long getFileDescriptorLength(); method public long getFileDescriptorOffset(); method public androidx.media.Media2DataSource getMedia2DataSource(); method public java.lang.String getMediaId(); method public long getStartPosition(); method public int getType(); method public android.net.Uri getUri(); method public android.content.Context getUriContext(); method public java.util.List<java.net.HttpCookie> getUriCookies(); method public java.util.Map<java.lang.String, java.lang.String> getUriHeaders(); field public static final long FD_LENGTH_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL field public static final long POSITION_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL field public static final int TYPE_CALLBACK = 1; // 0x1 field public static final int TYPE_FD = 2; // 0x2 field public static final int TYPE_NONE = 0; // 0x0 field public static final int TYPE_URI = 3; // 0x3 } public static class DataSourceDesc.Builder { ctor public DataSourceDesc.Builder(); ctor public DataSourceDesc.Builder(androidx.media.DataSourceDesc); method public androidx.media.DataSourceDesc build(); method public androidx.media.DataSourceDesc.Builder setDataSource(androidx.media.Media2DataSource); method public androidx.media.DataSourceDesc.Builder setDataSource(java.io.FileDescriptor); method public androidx.media.DataSourceDesc.Builder setDataSource(java.io.FileDescriptor, long, long); method public androidx.media.DataSourceDesc.Builder setDataSource(android.content.Context, android.net.Uri); method public androidx.media.DataSourceDesc.Builder setDataSource(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>, java.util.List<java.net.HttpCookie>); method public androidx.media.DataSourceDesc.Builder setEndPosition(long); method public androidx.media.DataSourceDesc.Builder setMediaId(java.lang.String); method public androidx.media.DataSourceDesc.Builder setStartPosition(long); } public abstract class Media2DataSource implements java.io.Closeable { ctor public Media2DataSource(); method public abstract long getSize() throws java.io.IOException; method public abstract int readAt(long, byte[], int, int) throws java.io.IOException; } public class MediaBrowser2 extends androidx.media.MediaController2 { ctor public MediaBrowser2(android.content.Context, androidx.media.SessionToken2, java.util.concurrent.Executor, androidx.media.MediaBrowser2.BrowserCallback); method public void getChildren(java.lang.String, int, int, android.os.Bundle); method public void getItem(java.lang.String); method public void getLibraryRoot(android.os.Bundle); method public void getSearchResult(java.lang.String, int, int, android.os.Bundle); method public void search(java.lang.String, android.os.Bundle); method public void subscribe(java.lang.String, android.os.Bundle); method public void unsubscribe(java.lang.String); } public static class MediaBrowser2.BrowserCallback extends androidx.media.MediaController2.ControllerCallback { ctor public MediaBrowser2.BrowserCallback(); method public void onChildrenChanged(androidx.media.MediaBrowser2, java.lang.String, int, android.os.Bundle); method public void onGetChildrenDone(androidx.media.MediaBrowser2, java.lang.String, int, int, java.util.List<androidx.media.MediaItem2>, android.os.Bundle); method public void onGetItemDone(androidx.media.MediaBrowser2, java.lang.String, androidx.media.MediaItem2); method public void onGetLibraryRootDone(androidx.media.MediaBrowser2, android.os.Bundle, java.lang.String, android.os.Bundle); method public void onGetSearchResultDone(androidx.media.MediaBrowser2, java.lang.String, int, int, java.util.List<androidx.media.MediaItem2>, android.os.Bundle); method public void onSearchResultChanged(androidx.media.MediaBrowser2, java.lang.String, int, android.os.Bundle); } public abstract class MediaBrowserServiceCompat extends android.app.Service { ctor public MediaBrowserServiceCompat(); method public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]); method public final android.os.Bundle getBrowserRootHints(); method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentBrowserInfo(); method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken(); method public void notifyChildrenChanged(java.lang.String); method public void notifyChildrenChanged(java.lang.String, android.os.Bundle); method public android.os.IBinder onBind(android.content.Intent); method public void onCustomAction(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserServiceCompat.Result<android.os.Bundle>); method public abstract androidx.media.MediaBrowserServiceCompat.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle); method public abstract void onLoadChildren(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>>); method public void onLoadChildren(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>>, android.os.Bundle); method public void onLoadItem(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<android.support.v4.media.MediaBrowserCompat.MediaItem>); method public void onSearch(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>>); method public void setSessionToken(android.support.v4.media.session.MediaSessionCompat.Token); field public static final java.lang.String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService"; } public static final class MediaBrowserServiceCompat.BrowserRoot { ctor public MediaBrowserServiceCompat.BrowserRoot(java.lang.String, android.os.Bundle); method public android.os.Bundle getExtras(); method public java.lang.String getRootId(); field public static final java.lang.String EXTRA_OFFLINE = "android.service.media.extra.OFFLINE"; field public static final java.lang.String EXTRA_RECENT = "android.service.media.extra.RECENT"; field public static final java.lang.String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED"; field public static final deprecated java.lang.String EXTRA_SUGGESTION_KEYWORDS = "android.service.media.extra.SUGGESTION_KEYWORDS"; } public static class MediaBrowserServiceCompat.Result<T> { method public void detach(); method public void sendError(android.os.Bundle); method public void sendProgressUpdate(android.os.Bundle); method public void sendResult(T); } public class MediaController2 implements java.lang.AutoCloseable { ctor public MediaController2(android.content.Context, androidx.media.SessionToken2, java.util.concurrent.Executor, androidx.media.MediaController2.ControllerCallback); method public void addPlaylistItem(int, androidx.media.MediaItem2); method public void adjustVolume(int, int); method public void close(); method public void fastForward(); method public long getBufferedPosition(); method public int getBufferingState(); method public androidx.media.MediaItem2 getCurrentMediaItem(); method public long getCurrentPosition(); method public long getDuration(); method public androidx.media.MediaController2.PlaybackInfo getPlaybackInfo(); method public float getPlaybackSpeed(); method public int getPlayerState(); method public java.util.List<androidx.media.MediaItem2> getPlaylist(); method public androidx.media.MediaMetadata2 getPlaylistMetadata(); method public int getRepeatMode(); method public android.app.PendingIntent getSessionActivity(); method public androidx.media.SessionToken2 getSessionToken(); method public int getShuffleMode(); method public boolean isConnected(); method public void pause(); method public void play(); method public void playFromMediaId(java.lang.String, android.os.Bundle); method public void playFromSearch(java.lang.String, android.os.Bundle); method public void playFromUri(android.net.Uri, android.os.Bundle); method public void prepare(); method public void prepareFromMediaId(java.lang.String, android.os.Bundle); method public void prepareFromSearch(java.lang.String, android.os.Bundle); method public void prepareFromUri(android.net.Uri, android.os.Bundle); method public void removePlaylistItem(androidx.media.MediaItem2); method public void replacePlaylistItem(int, androidx.media.MediaItem2); method public void reset(); method public void rewind(); method public void seekTo(long); method public void selectRoute(android.os.Bundle); method public void sendCustomCommand(androidx.media.SessionCommand2, android.os.Bundle, android.os.ResultReceiver); method public void setPlaybackSpeed(float); method public void setPlaylist(java.util.List<androidx.media.MediaItem2>, androidx.media.MediaMetadata2); method public void setRating(java.lang.String, androidx.media.Rating2); method public void setRepeatMode(int); method public void setShuffleMode(int); method public void setVolumeTo(int, int); method public void skipToNextItem(); method public void skipToPlaylistItem(androidx.media.MediaItem2); method public void skipToPreviousItem(); method public void subscribeRoutesInfo(); method public void unsubscribeRoutesInfo(); method public void updatePlaylistMetadata(androidx.media.MediaMetadata2); } public static abstract class MediaController2.ControllerCallback { ctor public MediaController2.ControllerCallback(); method public void onAllowedCommandsChanged(androidx.media.MediaController2, androidx.media.SessionCommandGroup2); method public void onBufferingStateChanged(androidx.media.MediaController2, androidx.media.MediaItem2, int); method public void onConnected(androidx.media.MediaController2, androidx.media.SessionCommandGroup2); method public void onCurrentMediaItemChanged(androidx.media.MediaController2, androidx.media.MediaItem2); method public void onCustomCommand(androidx.media.MediaController2, androidx.media.SessionCommand2, android.os.Bundle, android.os.ResultReceiver); method public void onCustomLayoutChanged(androidx.media.MediaController2, java.util.List<androidx.media.MediaSession2.CommandButton>); method public void onDisconnected(androidx.media.MediaController2); method public void onError(androidx.media.MediaController2, int, android.os.Bundle); method public void onPlaybackInfoChanged(androidx.media.MediaController2, androidx.media.MediaController2.PlaybackInfo); method public void onPlaybackSpeedChanged(androidx.media.MediaController2, float); method public void onPlayerStateChanged(androidx.media.MediaController2, int); method public void onPlaylistChanged(androidx.media.MediaController2, java.util.List<androidx.media.MediaItem2>, androidx.media.MediaMetadata2); method public void onPlaylistMetadataChanged(androidx.media.MediaController2, androidx.media.MediaMetadata2); method public void onRepeatModeChanged(androidx.media.MediaController2, int); method public void onRoutesInfoChanged(androidx.media.MediaController2, java.util.List<android.os.Bundle>); method public void onSeekCompleted(androidx.media.MediaController2, long); method public void onShuffleModeChanged(androidx.media.MediaController2, int); } public static final class MediaController2.PlaybackInfo { method public androidx.media.AudioAttributesCompat getAudioAttributes(); method public int getControlType(); method public int getCurrentVolume(); method public int getMaxVolume(); method public int getPlaybackType(); field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1 field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2 } public class MediaItem2 { method public static androidx.media.MediaItem2 fromBundle(android.os.Bundle); method public androidx.media.DataSourceDesc getDataSourceDesc(); method public int getFlags(); method public java.lang.String getMediaId(); method public androidx.media.MediaMetadata2 getMetadata(); method public boolean isBrowsable(); method public boolean isPlayable(); method public void setMetadata(androidx.media.MediaMetadata2); method public android.os.Bundle toBundle(); field public static final int FLAG_BROWSABLE = 1; // 0x1 field public static final int FLAG_PLAYABLE = 2; // 0x2 } public static final class MediaItem2.Builder { ctor public MediaItem2.Builder(int); method public androidx.media.MediaItem2 build(); method public androidx.media.MediaItem2.Builder setDataSourceDesc(androidx.media.DataSourceDesc); method public androidx.media.MediaItem2.Builder setMediaId(java.lang.String); method public androidx.media.MediaItem2.Builder setMetadata(androidx.media.MediaMetadata2); } public abstract class MediaLibraryService2 extends androidx.media.MediaSessionService2 { ctor public MediaLibraryService2(); method public abstract androidx.media.MediaLibraryService2.MediaLibrarySession onCreateSession(java.lang.String); field public static final java.lang.String SERVICE_INTERFACE = "android.media.MediaLibraryService2"; } public static final class MediaLibraryService2.LibraryRoot { ctor public MediaLibraryService2.LibraryRoot(java.lang.String, android.os.Bundle); method public android.os.Bundle getExtras(); method public java.lang.String getRootId(); field public static final java.lang.String EXTRA_OFFLINE = "android.media.extra.OFFLINE"; field public static final java.lang.String EXTRA_RECENT = "android.media.extra.RECENT"; field public static final java.lang.String EXTRA_SUGGESTED = "android.media.extra.SUGGESTED"; } public static final class MediaLibraryService2.MediaLibrarySession extends androidx.media.MediaSession2 { method public void notifyChildrenChanged(androidx.media.MediaSession2.ControllerInfo, java.lang.String, int, android.os.Bundle); method public void notifyChildrenChanged(java.lang.String, int, android.os.Bundle); method public void notifySearchResultChanged(androidx.media.MediaSession2.ControllerInfo, java.lang.String, int, android.os.Bundle); } public static final class MediaLibraryService2.MediaLibrarySession.Builder { ctor public MediaLibraryService2.MediaLibrarySession.Builder(androidx.media.MediaLibraryService2, java.util.concurrent.Executor, androidx.media.MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback); method public androidx.media.MediaLibraryService2.MediaLibrarySession build(); method public androidx.media.MediaLibraryService2.MediaLibrarySession.Builder setId(java.lang.String); method public androidx.media.MediaLibraryService2.MediaLibrarySession.Builder setPlayer(androidx.media.MediaPlayerInterface); method public androidx.media.MediaLibraryService2.MediaLibrarySession.Builder setPlaylistAgent(androidx.media.MediaPlaylistAgent); method public androidx.media.MediaLibraryService2.MediaLibrarySession.Builder setSessionActivity(android.app.PendingIntent); method public androidx.media.MediaLibraryService2.MediaLibrarySession.Builder setVolumeProvider(androidx.media.VolumeProviderCompat); } public static class MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback extends androidx.media.MediaSession2.SessionCallback { ctor public MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback(); method public java.util.List<androidx.media.MediaItem2> onGetChildren(androidx.media.MediaLibraryService2.MediaLibrarySession, androidx.media.MediaSession2.ControllerInfo, java.lang.String, int, int, android.os.Bundle); method public androidx.media.MediaItem2 onGetItem(androidx.media.MediaLibraryService2.MediaLibrarySession, androidx.media.MediaSession2.ControllerInfo, java.lang.String); method public androidx.media.MediaLibraryService2.LibraryRoot onGetLibraryRoot(androidx.media.MediaLibraryService2.MediaLibrarySession, androidx.media.MediaSession2.ControllerInfo, android.os.Bundle); method public java.util.List<androidx.media.MediaItem2> onGetSearchResult(androidx.media.MediaLibraryService2.MediaLibrarySession, androidx.media.MediaSession2.ControllerInfo, java.lang.String, int, int, android.os.Bundle); method public void onSearch(androidx.media.MediaLibraryService2.MediaLibrarySession, androidx.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle); method public void onSubscribe(androidx.media.MediaLibraryService2.MediaLibrarySession, androidx.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle); method public void onUnsubscribe(androidx.media.MediaLibraryService2.MediaLibrarySession, androidx.media.MediaSession2.ControllerInfo, java.lang.String); } public final class MediaMetadata2 { method public boolean containsKey(java.lang.String); method public static androidx.media.MediaMetadata2 fromBundle(android.os.Bundle); method public android.graphics.Bitmap getBitmap(java.lang.String); method public android.os.Bundle getExtras(); method public float getFloat(java.lang.String); method public long getLong(java.lang.String); method public java.lang.String getMediaId(); method public androidx.media.Rating2 getRating(java.lang.String); method public java.lang.String getString(java.lang.String); method public java.lang.CharSequence getText(java.lang.String); method public java.util.Set<java.lang.String> keySet(); method public int size(); method public android.os.Bundle toBundle(); field public static final long BT_FOLDER_TYPE_ALBUMS = 2L; // 0x2L field public static final long BT_FOLDER_TYPE_ARTISTS = 3L; // 0x3L field public static final long BT_FOLDER_TYPE_GENRES = 4L; // 0x4L field public static final long BT_FOLDER_TYPE_MIXED = 0L; // 0x0L field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L field public static final java.lang.String METADATA_KEY_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT"; field public static final java.lang.String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM"; field public static final java.lang.String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART"; field public static final java.lang.String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST"; field public static final java.lang.String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI"; field public static final java.lang.String METADATA_KEY_ART = "android.media.metadata.ART"; field public static final java.lang.String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST"; field public static final java.lang.String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI"; field public static final java.lang.String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR"; field public static final java.lang.String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE"; field public static final java.lang.String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION"; field public static final java.lang.String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER"; field public static final java.lang.String METADATA_KEY_DATE = "android.media.metadata.DATE"; field public static final java.lang.String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER"; field public static final java.lang.String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION"; field public static final java.lang.String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON"; field public static final java.lang.String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI"; field public static final java.lang.String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE"; field public static final java.lang.String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE"; field public static final java.lang.String METADATA_KEY_DOWNLOAD_STATUS = "android.media.metadata.DOWNLOAD_STATUS"; field public static final java.lang.String METADATA_KEY_DURATION = "android.media.metadata.DURATION"; field public static final java.lang.String METADATA_KEY_EXTRAS = "android.media.metadata.EXTRAS"; field public static final java.lang.String METADATA_KEY_GENRE = "android.media.metadata.GENRE"; field public static final java.lang.String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID"; field public static final java.lang.String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI"; field public static final java.lang.String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS"; field public static final java.lang.String METADATA_KEY_RATING = "android.media.metadata.RATING"; field public static final java.lang.String METADATA_KEY_TITLE = "android.media.metadata.TITLE"; field public static final java.lang.String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER"; field public static final java.lang.String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING"; field public static final java.lang.String METADATA_KEY_WRITER = "android.media.metadata.WRITER"; field public static final java.lang.String METADATA_KEY_YEAR = "android.media.metadata.YEAR"; field public static final long STATUS_DOWNLOADED = 2L; // 0x2L field public static final long STATUS_DOWNLOADING = 1L; // 0x1L field public static final long STATUS_NOT_DOWNLOADED = 0L; // 0x0L } public static final class MediaMetadata2.Builder { ctor public MediaMetadata2.Builder(); ctor public MediaMetadata2.Builder(androidx.media.MediaMetadata2); method public androidx.media.MediaMetadata2 build(); method public androidx.media.MediaMetadata2.Builder putBitmap(java.lang.String, android.graphics.Bitmap); method public androidx.media.MediaMetadata2.Builder putFloat(java.lang.String, float); method public androidx.media.MediaMetadata2.Builder putLong(java.lang.String, long); method public androidx.media.MediaMetadata2.Builder putRating(java.lang.String, androidx.media.Rating2); method public androidx.media.MediaMetadata2.Builder putString(java.lang.String, java.lang.String); method public androidx.media.MediaMetadata2.Builder putText(java.lang.String, java.lang.CharSequence); method public androidx.media.MediaMetadata2.Builder setExtras(android.os.Bundle); } public abstract class MediaPlayer2 { method public abstract void attachAuxEffect(int); method public abstract void clearDrmEventCallback(); method public abstract void clearMediaPlayer2EventCallback(); method public abstract void clearPendingCommands(); method public abstract void close(); method public static final androidx.media.MediaPlayer2 create(); method public abstract void deselectTrack(int); method public abstract androidx.media.AudioAttributesCompat getAudioAttributes(); method public abstract int getAudioSessionId(); method public abstract long getBufferedPosition(); method public abstract androidx.media.DataSourceDesc getCurrentDataSource(); method public abstract long getCurrentPosition(); method public abstract androidx.media.MediaPlayer2.DrmInfo getDrmInfo(); method public abstract android.media.MediaDrm.KeyRequest getDrmKeyRequest(byte[], byte[], java.lang.String, int, java.util.Map<java.lang.String, java.lang.String>) throws androidx.media.MediaPlayer2.NoDrmSchemeException; method public abstract java.lang.String getDrmPropertyString(java.lang.String) throws androidx.media.MediaPlayer2.NoDrmSchemeException; method public abstract long getDuration(); method public float getMaxPlayerVolume(); method public abstract int getMediaPlayer2State(); method public abstract androidx.media.MediaPlayerInterface getMediaPlayerInterface(); method public abstract android.os.PersistableBundle getMetrics(); method public abstract android.media.PlaybackParams getPlaybackParams(); method public float getPlaybackSpeed(); method public abstract float getPlayerVolume(); method public abstract int getSelectedTrack(int); method public abstract android.media.SyncParams getSyncParams(); method public abstract android.media.MediaTimestamp getTimestamp(); method public abstract java.util.List<androidx.media.MediaPlayer2.TrackInfo> getTrackInfo(); method public abstract int getVideoHeight(); method public abstract int getVideoWidth(); method public boolean isReversePlaybackSupported(); method public abstract void loopCurrent(boolean); method public void notifyWhenCommandLabelReached(java.lang.Object); method public abstract void pause(); method public abstract void play(); method public abstract void prepare(); method public abstract void prepareDrm(java.util.UUID) throws androidx.media.MediaPlayer2.ProvisioningNetworkErrorException, androidx.media.MediaPlayer2.ProvisioningServerErrorException, android.media.ResourceBusyException, android.media.UnsupportedSchemeException; method public abstract byte[] provideDrmKeyResponse(byte[], byte[]) throws android.media.DeniedByServerException, androidx.media.MediaPlayer2.NoDrmSchemeException; method public abstract void releaseDrm() throws androidx.media.MediaPlayer2.NoDrmSchemeException; method public abstract void reset(); method public abstract void restoreDrmKeys(byte[]) throws androidx.media.MediaPlayer2.NoDrmSchemeException; method public void seekTo(long); method public abstract void seekTo(long, int); method public abstract void selectTrack(int); method public abstract void setAudioAttributes(androidx.media.AudioAttributesCompat); method public abstract void setAudioSessionId(int); method public abstract void setAuxEffectSendLevel(float); method public abstract void setDataSource(androidx.media.DataSourceDesc); method public abstract void setDrmEventCallback(java.util.concurrent.Executor, androidx.media.MediaPlayer2.DrmEventCallback); method public abstract void setDrmPropertyString(java.lang.String, java.lang.String) throws androidx.media.MediaPlayer2.NoDrmSchemeException; method public abstract void setMediaPlayer2EventCallback(java.util.concurrent.Executor, androidx.media.MediaPlayer2.MediaPlayer2EventCallback); method public abstract void setNextDataSource(androidx.media.DataSourceDesc); method public abstract void setNextDataSources(java.util.List<androidx.media.DataSourceDesc>); method public abstract void setOnDrmConfigHelper(androidx.media.MediaPlayer2.OnDrmConfigHelper); method public abstract void setPlaybackParams(android.media.PlaybackParams); method public abstract void setPlaybackSpeed(float); method public abstract void setPlayerVolume(float); method public abstract void setSurface(android.view.Surface); method public abstract void setSyncParams(android.media.SyncParams); method public abstract void skipToNext(); field public static final int CALL_COMPLETED_ATTACH_AUX_EFFECT = 1; // 0x1 field public static final int CALL_COMPLETED_DESELECT_TRACK = 2; // 0x2 field public static final int CALL_COMPLETED_LOOP_CURRENT = 3; // 0x3 field public static final int CALL_COMPLETED_PAUSE = 4; // 0x4 field public static final int CALL_COMPLETED_PLAY = 5; // 0x5 field public static final int CALL_COMPLETED_PREPARE = 6; // 0x6 field public static final int CALL_COMPLETED_SEEK_TO = 14; // 0xe field public static final int CALL_COMPLETED_SELECT_TRACK = 15; // 0xf field public static final int CALL_COMPLETED_SET_AUDIO_ATTRIBUTES = 16; // 0x10 field public static final int CALL_COMPLETED_SET_AUDIO_SESSION_ID = 17; // 0x11 field public static final int CALL_COMPLETED_SET_AUX_EFFECT_SEND_LEVEL = 18; // 0x12 field public static final int CALL_COMPLETED_SET_DATA_SOURCE = 19; // 0x13 field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCE = 22; // 0x16 field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCES = 23; // 0x17 field public static final int CALL_COMPLETED_SET_PLAYBACK_PARAMS = 24; // 0x18 field public static final int CALL_COMPLETED_SET_PLAYBACK_SPEED = 25; // 0x19 field public static final int CALL_COMPLETED_SET_PLAYER_VOLUME = 26; // 0x1a field public static final int CALL_COMPLETED_SET_SURFACE = 27; // 0x1b field public static final int CALL_COMPLETED_SET_SYNC_PARAMS = 28; // 0x1c field public static final int CALL_COMPLETED_SKIP_TO_NEXT = 29; // 0x1d field public static final int CALL_STATUS_BAD_VALUE = 2; // 0x2 field public static final int CALL_STATUS_ERROR_IO = 4; // 0x4 field public static final int CALL_STATUS_ERROR_UNKNOWN = -2147483648; // 0x80000000 field public static final int CALL_STATUS_INVALID_OPERATION = 1; // 0x1 field public static final int CALL_STATUS_NO_ERROR = 0; // 0x0 field public static final int CALL_STATUS_PERMISSION_DENIED = 3; // 0x3 field public static final int MEDIAPLAYER2_STATE_ERROR = 1005; // 0x3ed field public static final int MEDIAPLAYER2_STATE_IDLE = 1001; // 0x3e9 field public static final int MEDIAPLAYER2_STATE_PAUSED = 1003; // 0x3eb field public static final int MEDIAPLAYER2_STATE_PLAYING = 1004; // 0x3ec field public static final int MEDIAPLAYER2_STATE_PREPARED = 1002; // 0x3ea field public static final int MEDIA_ERROR_IO = -1004; // 0xfffffc14 field public static final int MEDIA_ERROR_MALFORMED = -1007; // 0xfffffc11 field public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200; // 0xc8 field public static final int MEDIA_ERROR_TIMED_OUT = -110; // 0xffffff92 field public static final int MEDIA_ERROR_UNKNOWN = 1; // 0x1 field public static final int MEDIA_ERROR_UNSUPPORTED = -1010; // 0xfffffc0e field public static final int MEDIA_INFO_AUDIO_NOT_PLAYING = 804; // 0x324 field public static final int MEDIA_INFO_AUDIO_RENDERING_START = 4; // 0x4 field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320 field public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be field public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd field public static final int MEDIA_INFO_BUFFERING_UPDATE = 704; // 0x2c0 field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322 field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321 field public static final int MEDIA_INFO_PLAYBACK_COMPLETE = 5; // 0x5 field public static final int MEDIA_INFO_PLAYLIST_END = 6; // 0x6 field public static final int MEDIA_INFO_PREPARED = 100; // 0x64 field public static final int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902; // 0x386 field public static final int MEDIA_INFO_UNKNOWN = 1; // 0x1 field public static final int MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901; // 0x385 field public static final int MEDIA_INFO_VIDEO_NOT_PLAYING = 805; // 0x325 field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3 field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc field public static final int PREPARE_DRM_STATUS_PREPARATION_ERROR = 3; // 0x3 field public static final int PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR = 1; // 0x1 field public static final int PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR = 2; // 0x2 field public static final int PREPARE_DRM_STATUS_SUCCESS = 0; // 0x0 field public static final int SEEK_CLOSEST = 3; // 0x3 field public static final int SEEK_CLOSEST_SYNC = 2; // 0x2 field public static final int SEEK_NEXT_SYNC = 1; // 0x1 field public static final int SEEK_PREVIOUS_SYNC = 0; // 0x0 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1 } public static abstract class MediaPlayer2.DrmEventCallback { ctor public MediaPlayer2.DrmEventCallback(); method public void onDrmInfo(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, androidx.media.MediaPlayer2.DrmInfo); method public void onDrmPrepared(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, int); } public static abstract class MediaPlayer2.DrmInfo { ctor public MediaPlayer2.DrmInfo(); method public abstract java.util.Map<java.util.UUID, byte[]> getPssh(); method public abstract java.util.List<java.util.UUID> getSupportedSchemes(); } public static abstract class MediaPlayer2.MediaPlayer2EventCallback { ctor public MediaPlayer2.MediaPlayer2EventCallback(); method public void onCallCompleted(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, int, int); method public void onCommandLabelReached(androidx.media.MediaPlayer2, java.lang.Object); method public void onError(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, int, int); method public void onInfo(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, int, int); method public void onMediaTimeDiscontinuity(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, android.media.MediaTimestamp); method public void onSubtitleData(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, android.media.SubtitleData); method public void onTimedMetaDataAvailable(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, android.media.TimedMetaData); method public void onVideoSizeChanged(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc, int, int); } public static final class MediaPlayer2.MetricsConstants { field public static final java.lang.String CODEC_AUDIO = "android.media.mediaplayer.audio.codec"; field public static final java.lang.String CODEC_VIDEO = "android.media.mediaplayer.video.codec"; field public static final java.lang.String DURATION = "android.media.mediaplayer.durationMs"; field public static final java.lang.String ERRORS = "android.media.mediaplayer.err"; field public static final java.lang.String ERROR_CODE = "android.media.mediaplayer.errcode"; field public static final java.lang.String FRAMES = "android.media.mediaplayer.frames"; field public static final java.lang.String FRAMES_DROPPED = "android.media.mediaplayer.dropped"; field public static final java.lang.String HEIGHT = "android.media.mediaplayer.height"; field public static final java.lang.String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime"; field public static final java.lang.String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime"; field public static final java.lang.String PLAYING = "android.media.mediaplayer.playingMs"; field public static final java.lang.String WIDTH = "android.media.mediaplayer.width"; } public static class MediaPlayer2.NoDrmSchemeException extends android.media.MediaDrmException { ctor public MediaPlayer2.NoDrmSchemeException(java.lang.String); } public static abstract interface MediaPlayer2.OnDrmConfigHelper { method public abstract void onDrmConfig(androidx.media.MediaPlayer2, androidx.media.DataSourceDesc); } public static class MediaPlayer2.ProvisioningNetworkErrorException extends android.media.MediaDrmException { ctor public MediaPlayer2.ProvisioningNetworkErrorException(java.lang.String); } public static class MediaPlayer2.ProvisioningServerErrorException extends android.media.MediaDrmException { ctor public MediaPlayer2.ProvisioningServerErrorException(java.lang.String); } public static abstract class MediaPlayer2.TrackInfo { ctor public MediaPlayer2.TrackInfo(); method public abstract android.media.MediaFormat getFormat(); method public abstract java.lang.String getLanguage(); method public abstract int getTrackType(); method public abstract java.lang.String toString(); field public static final int MEDIA_TRACK_TYPE_AUDIO = 2; // 0x2 field public static final int MEDIA_TRACK_TYPE_METADATA = 5; // 0x5 field public static final int MEDIA_TRACK_TYPE_SUBTITLE = 4; // 0x4 field public static final int MEDIA_TRACK_TYPE_UNKNOWN = 0; // 0x0 field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1 } public abstract class MediaPlayerInterface implements java.lang.AutoCloseable { ctor public MediaPlayerInterface(); method public abstract androidx.media.AudioAttributesCompat getAudioAttributes(); method public long getBufferedPosition(); method public abstract int getBufferingState(); method public abstract androidx.media.DataSourceDesc getCurrentDataSource(); method public long getCurrentPosition(); method public long getDuration(); method public float getMaxPlayerVolume(); method public float getPlaybackSpeed(); method public abstract int getPlayerState(); method public abstract float getPlayerVolume(); method public boolean isReversePlaybackSupported(); method public abstract void loopCurrent(boolean); method public abstract void pause(); method public abstract void play(); method public abstract void prepare(); method public abstract void registerPlayerEventCallback(java.util.concurrent.Executor, androidx.media.MediaPlayerInterface.PlayerEventCallback); method public abstract void reset(); method public abstract void seekTo(long); method public abstract void setAudioAttributes(androidx.media.AudioAttributesCompat); method public abstract void setDataSource(androidx.media.DataSourceDesc); method public abstract void setNextDataSource(androidx.media.DataSourceDesc); method public abstract void setNextDataSources(java.util.List<androidx.media.DataSourceDesc>); method public abstract void setPlaybackSpeed(float); method public abstract void setPlayerVolume(float); method public abstract void skipToNext(); method public abstract void unregisterPlayerEventCallback(androidx.media.MediaPlayerInterface.PlayerEventCallback); field public static final int BUFFERING_STATE_BUFFERING_AND_PLAYABLE = 1; // 0x1 field public static final int BUFFERING_STATE_BUFFERING_AND_STARVED = 2; // 0x2 field public static final int BUFFERING_STATE_BUFFERING_COMPLETE = 3; // 0x3 field public static final int BUFFERING_STATE_UNKNOWN = 0; // 0x0 field public static final int PLAYER_STATE_ERROR = 3; // 0x3 field public static final int PLAYER_STATE_IDLE = 0; // 0x0 field public static final int PLAYER_STATE_PAUSED = 1; // 0x1 field public static final int PLAYER_STATE_PLAYING = 2; // 0x2 field public static final long UNKNOWN_TIME = -1L; // 0xffffffffffffffffL } public static abstract class MediaPlayerInterface.PlayerEventCallback { ctor public MediaPlayerInterface.PlayerEventCallback(); method public void onBufferingStateChanged(androidx.media.MediaPlayerInterface, androidx.media.DataSourceDesc, int); method public void onCurrentDataSourceChanged(androidx.media.MediaPlayerInterface, androidx.media.DataSourceDesc); method public void onMediaPrepared(androidx.media.MediaPlayerInterface, androidx.media.DataSourceDesc); method public void onPlaybackSpeedChanged(androidx.media.MediaPlayerInterface, float); method public void onPlayerStateChanged(androidx.media.MediaPlayerInterface, int); method public void onSeekCompleted(androidx.media.MediaPlayerInterface, long); } public abstract class MediaPlaylistAgent { ctor public MediaPlaylistAgent(); method public abstract void addPlaylistItem(int, androidx.media.MediaItem2); method public abstract androidx.media.MediaItem2 getCurrentMediaItem(); method public androidx.media.MediaItem2 getMediaItem(androidx.media.DataSourceDesc); method public abstract java.util.List<androidx.media.MediaItem2> getPlaylist(); method public abstract androidx.media.MediaMetadata2 getPlaylistMetadata(); method public abstract int getRepeatMode(); method public abstract int getShuffleMode(); method public final void notifyPlaylistChanged(); method public final void notifyPlaylistMetadataChanged(); method public final void notifyRepeatModeChanged(); method public final void notifyShuffleModeChanged(); method public final void registerPlaylistEventCallback(java.util.concurrent.Executor, androidx.media.MediaPlaylistAgent.PlaylistEventCallback); method public abstract void removePlaylistItem(androidx.media.MediaItem2); method public abstract void replacePlaylistItem(int, androidx.media.MediaItem2); method public abstract void setPlaylist(java.util.List<androidx.media.MediaItem2>, androidx.media.MediaMetadata2); method public abstract void setRepeatMode(int); method public abstract void setShuffleMode(int); method public abstract void skipToNextItem(); method public abstract void skipToPlaylistItem(androidx.media.MediaItem2); method public abstract void skipToPreviousItem(); method public final void unregisterPlaylistEventCallback(androidx.media.MediaPlaylistAgent.PlaylistEventCallback); method public abstract void updatePlaylistMetadata(androidx.media.MediaMetadata2); field public static final int REPEAT_MODE_ALL = 2; // 0x2 field public static final int REPEAT_MODE_GROUP = 3; // 0x3 field public static final int REPEAT_MODE_NONE = 0; // 0x0 field public static final int REPEAT_MODE_ONE = 1; // 0x1 field public static final int SHUFFLE_MODE_ALL = 1; // 0x1 field public static final int SHUFFLE_MODE_GROUP = 2; // 0x2 field public static final int SHUFFLE_MODE_NONE = 0; // 0x0 } public static abstract class MediaPlaylistAgent.PlaylistEventCallback { ctor public MediaPlaylistAgent.PlaylistEventCallback(); method public void onPlaylistChanged(androidx.media.MediaPlaylistAgent, java.util.List<androidx.media.MediaItem2>, androidx.media.MediaMetadata2); method public void onPlaylistMetadataChanged(androidx.media.MediaPlaylistAgent, androidx.media.MediaMetadata2); method public void onRepeatModeChanged(androidx.media.MediaPlaylistAgent, int); method public void onShuffleModeChanged(androidx.media.MediaPlaylistAgent, int); } public class MediaSession2 implements java.lang.AutoCloseable { method public void addPlaylistItem(int, androidx.media.MediaItem2); method public void clearOnDataSourceMissingHelper(); method public void close(); method public long getBufferedPosition(); method public int getBufferingState(); method public java.util.List<androidx.media.MediaSession2.ControllerInfo> getConnectedControllers(); method public androidx.media.MediaItem2 getCurrentMediaItem(); method public long getCurrentPosition(); method public long getDuration(); method public float getPlaybackSpeed(); method public androidx.media.MediaPlayerInterface getPlayer(); method public int getPlayerState(); method public java.util.List<androidx.media.MediaItem2> getPlaylist(); method public androidx.media.MediaPlaylistAgent getPlaylistAgent(); method public androidx.media.MediaMetadata2 getPlaylistMetadata(); method public int getRepeatMode(); method public int getShuffleMode(); method public androidx.media.SessionToken2 getToken(); method public androidx.media.VolumeProviderCompat getVolumeProvider(); method public void notifyError(int, android.os.Bundle); method public void notifyRoutesInfoChanged(androidx.media.MediaSession2.ControllerInfo, java.util.List<android.os.Bundle>); method public void pause(); method public void play(); method public void prepare(); method public void removePlaylistItem(androidx.media.MediaItem2); method public void replacePlaylistItem(int, androidx.media.MediaItem2); method public void reset(); method public void seekTo(long); method public void sendCustomCommand(androidx.media.SessionCommand2, android.os.Bundle); method public void sendCustomCommand(androidx.media.MediaSession2.ControllerInfo, androidx.media.SessionCommand2, android.os.Bundle, android.os.ResultReceiver); method public void setAllowedCommands(androidx.media.MediaSession2.ControllerInfo, androidx.media.SessionCommandGroup2); method public void setAudioFocusRequest(android.media.AudioFocusRequest); method public void setCustomLayout(androidx.media.MediaSession2.ControllerInfo, java.util.List<androidx.media.MediaSession2.CommandButton>); method public void setOnDataSourceMissingHelper(androidx.media.MediaSession2.OnDataSourceMissingHelper); method public void setPlaybackSpeed(float); method public void setPlaylist(java.util.List<androidx.media.MediaItem2>, androidx.media.MediaMetadata2); method public void setRepeatMode(int); method public void setShuffleMode(int); method public void skipToNextItem(); method public void skipToPlaylistItem(androidx.media.MediaItem2); method public void skipToPreviousItem(); method public void updatePlayer(androidx.media.MediaPlayerInterface, androidx.media.MediaPlaylistAgent, androidx.media.VolumeProviderCompat); method public void updatePlaylistMetadata(androidx.media.MediaMetadata2); field public static final int ERROR_CODE_ACTION_ABORTED = 10; // 0xa field public static final int ERROR_CODE_APP_ERROR = 1; // 0x1 field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED = 3; // 0x3 field public static final int ERROR_CODE_CONCURRENT_STREAM_LIMIT = 5; // 0x5 field public static final int ERROR_CODE_CONTENT_ALREADY_PLAYING = 8; // 0x8 field public static final int ERROR_CODE_END_OF_QUEUE = 11; // 0xb field public static final int ERROR_CODE_NOT_AVAILABLE_IN_REGION = 7; // 0x7 field public static final int ERROR_CODE_NOT_SUPPORTED = 2; // 0x2 field public static final int ERROR_CODE_PARENTAL_CONTROL_RESTRICTED = 6; // 0x6 field public static final int ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED = 4; // 0x4 field public static final int ERROR_CODE_SETUP_REQUIRED = 12; // 0xc field public static final int ERROR_CODE_SKIP_LIMIT_REACHED = 9; // 0x9 field public static final int ERROR_CODE_UNKNOWN_ERROR = 0; // 0x0 } public static final class MediaSession2.Builder { ctor public MediaSession2.Builder(android.content.Context); method public androidx.media.MediaSession2 build(); method public androidx.media.MediaSession2.Builder setId(java.lang.String); method public androidx.media.MediaSession2.Builder setPlayer(androidx.media.MediaPlayerInterface); method public androidx.media.MediaSession2.Builder setPlaylistAgent(androidx.media.MediaPlaylistAgent); method public androidx.media.MediaSession2.Builder setSessionActivity(android.app.PendingIntent); method public androidx.media.MediaSession2.Builder setSessionCallback(java.util.concurrent.Executor, androidx.media.MediaSession2.SessionCallback); method public androidx.media.MediaSession2.Builder setVolumeProvider(androidx.media.VolumeProviderCompat); } public static final class MediaSession2.CommandButton { method public androidx.media.SessionCommand2 getCommand(); method public java.lang.String getDisplayName(); method public android.os.Bundle getExtras(); method public int getIconResId(); method public boolean isEnabled(); } public static final class MediaSession2.CommandButton.Builder { ctor public MediaSession2.CommandButton.Builder(); method public androidx.media.MediaSession2.CommandButton build(); method public androidx.media.MediaSession2.CommandButton.Builder setCommand(androidx.media.SessionCommand2); method public androidx.media.MediaSession2.CommandButton.Builder setDisplayName(java.lang.String); method public androidx.media.MediaSession2.CommandButton.Builder setEnabled(boolean); method public androidx.media.MediaSession2.CommandButton.Builder setExtras(android.os.Bundle); method public androidx.media.MediaSession2.CommandButton.Builder setIconResId(int); } public static final class MediaSession2.ControllerInfo { method public java.lang.String getPackageName(); method public int getUid(); } public static abstract interface MediaSession2.OnDataSourceMissingHelper { method public abstract androidx.media.DataSourceDesc onDataSourceMissing(androidx.media.MediaSession2, androidx.media.MediaItem2); } public static abstract class MediaSession2.SessionCallback { ctor public MediaSession2.SessionCallback(); method public void onBufferingStateChanged(androidx.media.MediaSession2, androidx.media.MediaPlayerInterface, androidx.media.MediaItem2, int); method public boolean onCommandRequest(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, androidx.media.SessionCommand2); method public androidx.media.SessionCommandGroup2 onConnect(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo); method public void onCurrentMediaItemChanged(androidx.media.MediaSession2, androidx.media.MediaPlayerInterface, androidx.media.MediaItem2); method public void onCustomCommand(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, androidx.media.SessionCommand2, android.os.Bundle, android.os.ResultReceiver); method public void onDisconnected(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo); method public void onFastForward(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo); method public void onMediaPrepared(androidx.media.MediaSession2, androidx.media.MediaPlayerInterface, androidx.media.MediaItem2); method public void onPlayFromMediaId(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle); method public void onPlayFromSearch(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle); method public void onPlayFromUri(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, android.net.Uri, android.os.Bundle); method public void onPlaybackSpeedChanged(androidx.media.MediaSession2, androidx.media.MediaPlayerInterface, float); method public void onPlayerStateChanged(androidx.media.MediaSession2, androidx.media.MediaPlayerInterface, int); method public void onPlaylistChanged(androidx.media.MediaSession2, androidx.media.MediaPlaylistAgent, java.util.List<androidx.media.MediaItem2>, androidx.media.MediaMetadata2); method public void onPlaylistMetadataChanged(androidx.media.MediaSession2, androidx.media.MediaPlaylistAgent, androidx.media.MediaMetadata2); method public void onPrepareFromMediaId(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle); method public void onPrepareFromSearch(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, java.lang.String, android.os.Bundle); method public void onPrepareFromUri(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, android.net.Uri, android.os.Bundle); method public void onRepeatModeChanged(androidx.media.MediaSession2, androidx.media.MediaPlaylistAgent, int); method public void onRewind(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo); method public void onSeekCompleted(androidx.media.MediaSession2, androidx.media.MediaPlayerInterface, long); method public void onSelectRoute(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, android.os.Bundle); method public void onSetRating(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo, java.lang.String, androidx.media.Rating2); method public void onShuffleModeChanged(androidx.media.MediaSession2, androidx.media.MediaPlaylistAgent, int); method public void onSubscribeRoutesInfo(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo); method public void onUnsubscribeRoutesInfo(androidx.media.MediaSession2, androidx.media.MediaSession2.ControllerInfo); } public final class MediaSessionManager { method public static androidx.media.MediaSessionManager getSessionManager(android.content.Context); method public boolean isTrustedForMediaControl(androidx.media.MediaSessionManager.RemoteUserInfo); } public static final class MediaSessionManager.RemoteUserInfo { ctor public MediaSessionManager.RemoteUserInfo(java.lang.String, int, int); method public java.lang.String getPackageName(); method public int getPid(); method public int getUid(); field public static java.lang.String LEGACY_CONTROLLER; } public abstract class MediaSessionService2 extends android.app.Service { ctor public MediaSessionService2(); method public final androidx.media.MediaSession2 getSession(); method public android.os.IBinder onBind(android.content.Intent); method public abstract androidx.media.MediaSession2 onCreateSession(java.lang.String); method public androidx.media.MediaSessionService2.MediaNotification onUpdateNotification(); field public static final java.lang.String SERVICE_INTERFACE = "android.media.MediaSessionService2"; field public static final java.lang.String SERVICE_META_DATA = "android.media.session"; } public static class MediaSessionService2.MediaNotification { ctor public MediaSessionService2.MediaNotification(int, android.app.Notification); method public android.app.Notification getNotification(); method public int getNotificationId(); } public final class Rating2 { method public static androidx.media.Rating2 fromBundle(android.os.Bundle); method public float getPercentRating(); method public int getRatingStyle(); method public float getStarRating(); method public boolean hasHeart(); method public boolean isRated(); method public boolean isThumbUp(); method public static androidx.media.Rating2 newHeartRating(boolean); method public static androidx.media.Rating2 newPercentageRating(float); method public static androidx.media.Rating2 newStarRating(int, float); method public static androidx.media.Rating2 newThumbRating(boolean); method public static androidx.media.Rating2 newUnratedRating(int); method public android.os.Bundle toBundle(); field public static final int RATING_3_STARS = 3; // 0x3 field public static final int RATING_4_STARS = 4; // 0x4 field public static final int RATING_5_STARS = 5; // 0x5 field public static final int RATING_HEART = 1; // 0x1 field public static final int RATING_NONE = 0; // 0x0 field public static final int RATING_PERCENTAGE = 6; // 0x6 field public static final int RATING_THUMB_UP_DOWN = 2; // 0x2 } public final class SessionCommand2 { ctor public SessionCommand2(int); ctor public SessionCommand2(java.lang.String, android.os.Bundle); method public int getCommandCode(); method public java.lang.String getCustomCommand(); method public android.os.Bundle getExtras(); field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0 field public static final int COMMAND_CODE_LIBRARY_GET_CHILDREN = 29; // 0x1d field public static final int COMMAND_CODE_LIBRARY_GET_ITEM = 30; // 0x1e field public static final int COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT = 31; // 0x1f field public static final int COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT = 32; // 0x20 field public static final int COMMAND_CODE_LIBRARY_SEARCH = 33; // 0x21 field public static final int COMMAND_CODE_LIBRARY_SUBSCRIBE = 34; // 0x22 field public static final int COMMAND_CODE_LIBRARY_UNSUBSCRIBE = 35; // 0x23 field public static final int COMMAND_CODE_PLAYBACK_PAUSE = 2; // 0x2 field public static final int COMMAND_CODE_PLAYBACK_PLAY = 1; // 0x1 field public static final int COMMAND_CODE_PLAYBACK_PREPARE = 6; // 0x6 field public static final int COMMAND_CODE_PLAYBACK_RESET = 3; // 0x3 field public static final int COMMAND_CODE_PLAYBACK_SEEK_TO = 9; // 0x9 field public static final int COMMAND_CODE_PLAYBACK_SET_SPEED = 39; // 0x27 field public static final int COMMAND_CODE_PLAYLIST_ADD_ITEM = 15; // 0xf field public static final int COMMAND_CODE_PLAYLIST_GET_CURRENT_MEDIA_ITEM = 20; // 0x14 field public static final int COMMAND_CODE_PLAYLIST_GET_LIST = 18; // 0x12 field public static final int COMMAND_CODE_PLAYLIST_GET_LIST_METADATA = 20; // 0x14 field public static final int COMMAND_CODE_PLAYLIST_REMOVE_ITEM = 16; // 0x10 field public static final int COMMAND_CODE_PLAYLIST_REPLACE_ITEM = 17; // 0x11 field public static final int COMMAND_CODE_PLAYLIST_SET_LIST = 19; // 0x13 field public static final int COMMAND_CODE_PLAYLIST_SET_LIST_METADATA = 21; // 0x15 field public static final int COMMAND_CODE_PLAYLIST_SET_REPEAT_MODE = 14; // 0xe field public static final int COMMAND_CODE_PLAYLIST_SET_SHUFFLE_MODE = 13; // 0xd field public static final int COMMAND_CODE_PLAYLIST_SKIP_TO_NEXT_ITEM = 4; // 0x4 field public static final int COMMAND_CODE_PLAYLIST_SKIP_TO_PLAYLIST_ITEM = 12; // 0xc field public static final int COMMAND_CODE_PLAYLIST_SKIP_TO_PREV_ITEM = 5; // 0x5 field public static final int COMMAND_CODE_SESSION_FAST_FORWARD = 7; // 0x7 field public static final int COMMAND_CODE_SESSION_PLAY_FROM_MEDIA_ID = 22; // 0x16 field public static final int COMMAND_CODE_SESSION_PLAY_FROM_SEARCH = 24; // 0x18 field public static final int COMMAND_CODE_SESSION_PLAY_FROM_URI = 23; // 0x17 field public static final int COMMAND_CODE_SESSION_PREPARE_FROM_MEDIA_ID = 25; // 0x19 field public static final int COMMAND_CODE_SESSION_PREPARE_FROM_SEARCH = 27; // 0x1b field public static final int COMMAND_CODE_SESSION_PREPARE_FROM_URI = 26; // 0x1a field public static final int COMMAND_CODE_SESSION_REWIND = 8; // 0x8 field public static final int COMMAND_CODE_SESSION_SELECT_ROUTE = 38; // 0x26 field public static final int COMMAND_CODE_SESSION_SET_RATING = 28; // 0x1c field public static final int COMMAND_CODE_SESSION_SUBSCRIBE_ROUTES_INFO = 36; // 0x24 field public static final int COMMAND_CODE_SESSION_UNSUBSCRIBE_ROUTES_INFO = 37; // 0x25 field public static final int COMMAND_CODE_VOLUME_ADJUST_VOLUME = 11; // 0xb field public static final int COMMAND_CODE_VOLUME_SET_VOLUME = 10; // 0xa } public final class SessionCommandGroup2 { ctor public SessionCommandGroup2(); ctor public SessionCommandGroup2(androidx.media.SessionCommandGroup2); method public void addAllPredefinedCommands(); method public void addCommand(androidx.media.SessionCommand2); method public void addCommand(int); method public java.util.Set<androidx.media.SessionCommand2> getCommands(); method public boolean hasCommand(androidx.media.SessionCommand2); method public boolean hasCommand(int); method public void removeCommand(androidx.media.SessionCommand2); method public void removeCommand(int); } public final class SessionToken2 { ctor public SessionToken2(android.content.Context, android.content.ComponentName); method public static androidx.media.SessionToken2 fromBundle(android.os.Bundle); method public java.lang.String getId(); method public java.lang.String getPackageName(); method public java.lang.String getServiceName(); method public int getType(); method public int getUid(); method public android.os.Bundle toBundle(); field public static final int TYPE_LIBRARY_SERVICE = 2; // 0x2 field public static final int TYPE_SESSION = 0; // 0x0 field public static final int TYPE_SESSION_SERVICE = 1; // 0x1 } public abstract class VolumeProviderCompat { ctor public VolumeProviderCompat(int, int, int); method public final int getCurrentVolume(); method public final int getMaxVolume(); method public final int getVolumeControl(); method public java.lang.Object getVolumeProvider(); method public void onAdjustVolume(int); method public void onSetVolumeTo(int); method public void setCallback(androidx.media.VolumeProviderCompat.Callback); method public final void setCurrentVolume(int); field public static final int VOLUME_CONTROL_ABSOLUTE = 2; // 0x2 field public static final int VOLUME_CONTROL_FIXED = 0; // 0x0 field public static final int VOLUME_CONTROL_RELATIVE = 1; // 0x1 } public static abstract class VolumeProviderCompat.Callback { ctor public VolumeProviderCompat.Callback(); method public abstract void onVolumeChanged(androidx.media.VolumeProviderCompat); } } package androidx.media.app { public class NotificationCompat { } public static class NotificationCompat.DecoratedMediaCustomViewStyle extends androidx.media.app.NotificationCompat.MediaStyle { ctor public NotificationCompat.DecoratedMediaCustomViewStyle(); } public static class NotificationCompat.MediaStyle extends androidx.core.app.NotificationCompat.Style { ctor public NotificationCompat.MediaStyle(); ctor public NotificationCompat.MediaStyle(androidx.core.app.NotificationCompat.Builder); method public static android.support.v4.media.session.MediaSessionCompat.Token getMediaSession(android.app.Notification); method public androidx.media.app.NotificationCompat.MediaStyle setCancelButtonIntent(android.app.PendingIntent); method public androidx.media.app.NotificationCompat.MediaStyle setMediaSession(android.support.v4.media.session.MediaSessionCompat.Token); method public androidx.media.app.NotificationCompat.MediaStyle setShowActionsInCompactView(int...); method public androidx.media.app.NotificationCompat.MediaStyle setShowCancelButton(boolean); } } package androidx.media.session { public class MediaButtonReceiver extends android.content.BroadcastReceiver { ctor public MediaButtonReceiver(); method public static android.app.PendingIntent buildMediaButtonPendingIntent(android.content.Context, long); method public static android.app.PendingIntent buildMediaButtonPendingIntent(android.content.Context, android.content.ComponentName, long); method public static android.view.KeyEvent handleIntent(android.support.v4.media.session.MediaSessionCompat, android.content.Intent); method public void onReceive(android.content.Context, android.content.Intent); } }