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);
}
}