blob: 60039ed0012868a7959a87f6d148deb0bc07f426 [file] [log] [blame]
// Signature format: 3.0
package androidx.media2 {
public class CallbackMediaItem extends androidx.media2.MediaItem {
method public androidx.media2.DataSourceCallback getDataSourceCallback();
}
public static final class CallbackMediaItem.Builder {
ctor public CallbackMediaItem.Builder(androidx.media2.DataSourceCallback);
method public androidx.media2.CallbackMediaItem build();
method public androidx.media2.CallbackMediaItem.Builder! setEndPosition(long);
method public androidx.media2.CallbackMediaItem.Builder! setMetadata(androidx.media2.MediaMetadata!);
method public androidx.media2.CallbackMediaItem.Builder! setStartPosition(long);
}
public abstract class DataSourceCallback implements java.io.Closeable {
ctor public DataSourceCallback();
method public abstract long getSize() throws java.io.IOException;
method public abstract int readAt(long, byte[], int, int) throws java.io.IOException;
}
public class FileMediaItem extends androidx.media2.MediaItem {
method public java.io.FileDescriptor getFileDescriptor();
method public long getFileDescriptorLength();
method public long getFileDescriptorOffset();
field public static final long FD_LENGTH_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL
}
public static final class FileMediaItem.Builder {
ctor public FileMediaItem.Builder(java.io.FileDescriptor);
ctor public FileMediaItem.Builder(java.io.FileDescriptor, long, long);
method public androidx.media2.FileMediaItem build();
method public androidx.media2.FileMediaItem.Builder! setEndPosition(long);
method public androidx.media2.FileMediaItem.Builder! setMetadata(androidx.media2.MediaMetadata!);
method public androidx.media2.FileMediaItem.Builder! setStartPosition(long);
}
public final class HeartRating implements androidx.media2.Rating {
ctor public HeartRating();
ctor public HeartRating(boolean);
method public boolean hasHeart();
method public boolean isRated();
}
public class MediaBrowser extends androidx.media2.MediaController {
ctor public MediaBrowser(android.content.Context, androidx.media2.SessionToken, java.util.concurrent.Executor, androidx.media2.MediaBrowser.BrowserCallback);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaBrowser.BrowserResult> getChildren(String, @IntRange(from=0) int, @IntRange(from=1) int, androidx.media2.MediaLibraryService.LibraryParams?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaBrowser.BrowserResult> getItem(String);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaBrowser.BrowserResult> getLibraryRoot(androidx.media2.MediaLibraryService.LibraryParams?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaBrowser.BrowserResult> getSearchResult(String, @IntRange(from=0) int, @IntRange(from=1) int, androidx.media2.MediaLibraryService.LibraryParams?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaBrowser.BrowserResult> search(String, androidx.media2.MediaLibraryService.LibraryParams?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaBrowser.BrowserResult> subscribe(String, androidx.media2.MediaLibraryService.LibraryParams?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaBrowser.BrowserResult> unsubscribe(String);
}
public static class MediaBrowser.BrowserCallback extends androidx.media2.MediaController.ControllerCallback {
ctor public MediaBrowser.BrowserCallback();
method public void onChildrenChanged(androidx.media2.MediaBrowser, String, @IntRange(from=0) int, androidx.media2.MediaLibraryService.LibraryParams?);
method public void onSearchResultChanged(androidx.media2.MediaBrowser, String, @IntRange(from=0) int, androidx.media2.MediaLibraryService.LibraryParams?);
}
public static class MediaBrowser.BrowserResult extends androidx.versionedparcelable.CustomVersionedParcelable {
method public long getCompletionTime();
method public androidx.media2.MediaLibraryService.LibraryParams? getLibraryParams();
method public androidx.media2.MediaItem? getMediaItem();
method public java.util.List<androidx.media2.MediaItem>? getMediaItems();
method public int getResultCode();
field public static final int RESULT_CODE_AUTHENTICATION_EXPIRED = -102; // 0xffffff9a
field public static final int RESULT_CODE_BAD_VALUE = -3; // 0xfffffffd
field public static final int RESULT_CODE_CONCURRENT_STREAM_LIMIT = -104; // 0xffffff98
field public static final int RESULT_CODE_DISCONNECTED = -100; // 0xffffff9c
field public static final int RESULT_CODE_INVALID_STATE = -2; // 0xfffffffe
field public static final int RESULT_CODE_IO_ERROR = -5; // 0xfffffffb
field public static final int RESULT_CODE_NOT_AVAILABLE_IN_REGION = -106; // 0xffffff96
field public static final int RESULT_CODE_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int RESULT_CODE_PARENTAL_CONTROL_RESTRICTED = -105; // 0xffffff97
field public static final int RESULT_CODE_PERMISSION_DENIED = -4; // 0xfffffffc
field public static final int RESULT_CODE_PREMIUM_ACCOUNT_REQUIRED = -103; // 0xffffff99
field public static final int RESULT_CODE_SETUP_REQUIRED = -108; // 0xffffff94
field public static final int RESULT_CODE_SKIPPED = 1; // 0x1
field public static final int RESULT_CODE_SKIP_LIMIT_REACHED = -107; // 0xffffff95
field public static final int RESULT_CODE_SUCCESS = 0; // 0x0
field public static final int RESULT_CODE_UNKNOWN_ERROR = -1; // 0xffffffff
}
public class MediaController implements java.lang.AutoCloseable {
ctor public MediaController(android.content.Context, androidx.media2.SessionToken, java.util.concurrent.Executor, androidx.media2.MediaController.ControllerCallback);
ctor public MediaController(android.content.Context, android.support.v4.media.session.MediaSessionCompat.Token, java.util.concurrent.Executor, androidx.media2.MediaController.ControllerCallback);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> addPlaylistItem(@IntRange(from=0) int, String);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> adjustVolume(int, int);
method public void close();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> fastForward();
method public long getBufferedPosition();
method public int getBufferingState();
method public androidx.media2.SessionToken? getConnectedSessionToken();
method public androidx.media2.MediaItem? getCurrentMediaItem();
method public int getCurrentMediaItemIndex();
method public long getCurrentPosition();
method public long getDuration();
method public int getNextMediaItemIndex();
method public androidx.media2.MediaController.PlaybackInfo? getPlaybackInfo();
method public float getPlaybackSpeed();
method public int getPlayerState();
method public java.util.List<androidx.media2.MediaItem>? getPlaylist();
method public androidx.media2.MediaMetadata? getPlaylistMetadata();
method public int getPreviousMediaItemIndex();
method public int getRepeatMode();
method public android.app.PendingIntent? getSessionActivity();
method public int getShuffleMode();
method public boolean isConnected();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> pause();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> play();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> prepare();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> removePlaylistItem(@IntRange(from=0) int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> replacePlaylistItem(@IntRange(from=0) int, String);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> rewind();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> seekTo(long);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> sendCustomCommand(androidx.media2.SessionCommand, android.os.Bundle?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> setMediaItem(String);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> setPlaybackSpeed(float);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> setPlaylist(java.util.List<java.lang.String>, androidx.media2.MediaMetadata?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> setRating(String, androidx.media2.Rating);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> setRepeatMode(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> setShuffleMode(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> setVolumeTo(int, int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> skipBackward();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> skipForward();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> skipToNextPlaylistItem();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> skipToPlaylistItem(@IntRange(from=0) int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> skipToPreviousPlaylistItem();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaController.ControllerResult> updatePlaylistMetadata(androidx.media2.MediaMetadata?);
}
public abstract static class MediaController.ControllerCallback {
ctor public MediaController.ControllerCallback();
method public void onAllowedCommandsChanged(androidx.media2.MediaController, androidx.media2.SessionCommandGroup);
method public void onBufferingStateChanged(androidx.media2.MediaController, androidx.media2.MediaItem, int);
method public void onConnected(androidx.media2.MediaController, androidx.media2.SessionCommandGroup);
method public void onCurrentMediaItemChanged(androidx.media2.MediaController, androidx.media2.MediaItem?);
method public androidx.media2.MediaController.ControllerResult onCustomCommand(androidx.media2.MediaController, androidx.media2.SessionCommand, android.os.Bundle?);
method public void onDisconnected(androidx.media2.MediaController);
method public void onPlaybackCompleted(androidx.media2.MediaController);
method public void onPlaybackInfoChanged(androidx.media2.MediaController, androidx.media2.MediaController.PlaybackInfo);
method public void onPlaybackSpeedChanged(androidx.media2.MediaController, float);
method public void onPlayerStateChanged(androidx.media2.MediaController, int);
method public void onPlaylistChanged(androidx.media2.MediaController, java.util.List<androidx.media2.MediaItem>?, androidx.media2.MediaMetadata?);
method public void onPlaylistMetadataChanged(androidx.media2.MediaController, androidx.media2.MediaMetadata?);
method public void onRepeatModeChanged(androidx.media2.MediaController, int);
method public void onSeekCompleted(androidx.media2.MediaController, long);
method public int onSetCustomLayout(androidx.media2.MediaController, java.util.List<androidx.media2.MediaSession.CommandButton>);
method public void onShuffleModeChanged(androidx.media2.MediaController, int);
}
public static class MediaController.ControllerResult implements androidx.versionedparcelable.VersionedParcelable {
ctor public MediaController.ControllerResult(int, android.os.Bundle?);
method public long getCompletionTime();
method public android.os.Bundle? getCustomCommandResult();
method public androidx.media2.MediaItem? getMediaItem();
method public int getResultCode();
field public static final int RESULT_CODE_AUTHENTICATION_EXPIRED = -102; // 0xffffff9a
field public static final int RESULT_CODE_BAD_VALUE = -3; // 0xfffffffd
field public static final int RESULT_CODE_CONCURRENT_STREAM_LIMIT = -104; // 0xffffff98
field public static final int RESULT_CODE_DISCONNECTED = -100; // 0xffffff9c
field public static final int RESULT_CODE_INVALID_STATE = -2; // 0xfffffffe
field public static final int RESULT_CODE_IO_ERROR = -5; // 0xfffffffb
field public static final int RESULT_CODE_NOT_AVAILABLE_IN_REGION = -106; // 0xffffff96
field public static final int RESULT_CODE_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int RESULT_CODE_PARENTAL_CONTROL_RESTRICTED = -105; // 0xffffff97
field public static final int RESULT_CODE_PERMISSION_DENIED = -4; // 0xfffffffc
field public static final int RESULT_CODE_PREMIUM_ACCOUNT_REQUIRED = -103; // 0xffffff99
field public static final int RESULT_CODE_SETUP_REQUIRED = -108; // 0xffffff94
field public static final int RESULT_CODE_SKIPPED = 1; // 0x1
field public static final int RESULT_CODE_SKIP_LIMIT_REACHED = -107; // 0xffffff95
field public static final int RESULT_CODE_SUCCESS = 0; // 0x0
field public static final int RESULT_CODE_UNKNOWN_ERROR = -1; // 0xffffffff
}
public static final class MediaController.PlaybackInfo implements androidx.versionedparcelable.VersionedParcelable {
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 MediaItem extends androidx.versionedparcelable.CustomVersionedParcelable {
method public long getEndPosition();
method public androidx.media2.MediaMetadata? getMetadata();
method public long getStartPosition();
method public void setMetadata(androidx.media2.MediaMetadata?);
field public static final long POSITION_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL
}
public static class MediaItem.Builder {
ctor public MediaItem.Builder();
method public androidx.media2.MediaItem! build();
method public androidx.media2.MediaItem.Builder! setEndPosition(long);
method public androidx.media2.MediaItem.Builder! setMetadata(androidx.media2.MediaMetadata!);
method public androidx.media2.MediaItem.Builder! setStartPosition(long);
}
public abstract class MediaLibraryService extends androidx.media2.MediaSessionService {
ctor public MediaLibraryService();
method public abstract androidx.media2.MediaLibraryService.MediaLibrarySession onGetSession();
field public static final String SERVICE_INTERFACE = "androidx.media2.MediaLibraryService";
}
public static final class MediaLibraryService.LibraryParams implements androidx.versionedparcelable.VersionedParcelable {
method public android.os.Bundle? getExtras();
method public boolean isOffline();
method public boolean isRecent();
method public boolean isSuggested();
}
public static final class MediaLibraryService.LibraryParams.Builder {
ctor public MediaLibraryService.LibraryParams.Builder();
method public androidx.media2.MediaLibraryService.LibraryParams build();
method public androidx.media2.MediaLibraryService.LibraryParams.Builder setExtras(android.os.Bundle?);
method public androidx.media2.MediaLibraryService.LibraryParams.Builder setOffline(boolean);
method public androidx.media2.MediaLibraryService.LibraryParams.Builder setRecent(boolean);
method public androidx.media2.MediaLibraryService.LibraryParams.Builder setSuggested(boolean);
}
public static class MediaLibraryService.LibraryResult extends androidx.versionedparcelable.CustomVersionedParcelable {
ctor public MediaLibraryService.LibraryResult(int);
ctor public MediaLibraryService.LibraryResult(int, androidx.media2.MediaItem?, androidx.media2.MediaLibraryService.LibraryParams?);
ctor public MediaLibraryService.LibraryResult(int, java.util.List<androidx.media2.MediaItem>?, androidx.media2.MediaLibraryService.LibraryParams?);
field public static final int RESULT_CODE_AUTHENTICATION_EXPIRED = -102; // 0xffffff9a
field public static final int RESULT_CODE_BAD_VALUE = -3; // 0xfffffffd
field public static final int RESULT_CODE_CONCURRENT_STREAM_LIMIT = -104; // 0xffffff98
field public static final int RESULT_CODE_DISCONNECTED = -100; // 0xffffff9c
field public static final int RESULT_CODE_INVALID_STATE = -2; // 0xfffffffe
field public static final int RESULT_CODE_IO_ERROR = -5; // 0xfffffffb
field public static final int RESULT_CODE_NOT_AVAILABLE_IN_REGION = -106; // 0xffffff96
field public static final int RESULT_CODE_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int RESULT_CODE_PARENTAL_CONTROL_RESTRICTED = -105; // 0xffffff97
field public static final int RESULT_CODE_PERMISSION_DENIED = -4; // 0xfffffffc
field public static final int RESULT_CODE_PREMIUM_ACCOUNT_REQUIRED = -103; // 0xffffff99
field public static final int RESULT_CODE_SETUP_REQUIRED = -108; // 0xffffff94
field public static final int RESULT_CODE_SKIPPED = 1; // 0x1
field public static final int RESULT_CODE_SKIP_LIMIT_REACHED = -107; // 0xffffff95
field public static final int RESULT_CODE_SUCCESS = 0; // 0x0
field public static final int RESULT_CODE_UNKNOWN_ERROR = -1; // 0xffffffff
}
public static final class MediaLibraryService.MediaLibrarySession extends androidx.media2.MediaSession {
method public void notifyChildrenChanged(androidx.media2.MediaSession.ControllerInfo, String, @IntRange(from=0) int, androidx.media2.MediaLibraryService.LibraryParams?);
method public void notifyChildrenChanged(String, int, androidx.media2.MediaLibraryService.LibraryParams?);
method public void notifySearchResultChanged(androidx.media2.MediaSession.ControllerInfo, String, @IntRange(from=0) int, androidx.media2.MediaLibraryService.LibraryParams?);
}
public static final class MediaLibraryService.MediaLibrarySession.Builder {
ctor public MediaLibraryService.MediaLibrarySession.Builder(androidx.media2.MediaLibraryService, androidx.media2.SessionPlayer, java.util.concurrent.Executor, androidx.media2.MediaLibraryService.MediaLibrarySession.MediaLibrarySessionCallback);
method public androidx.media2.MediaLibraryService.MediaLibrarySession build();
method public androidx.media2.MediaLibraryService.MediaLibrarySession.Builder setId(String);
method public androidx.media2.MediaLibraryService.MediaLibrarySession.Builder setSessionActivity(android.app.PendingIntent?);
}
public static class MediaLibraryService.MediaLibrarySession.MediaLibrarySessionCallback extends androidx.media2.MediaSession.SessionCallback {
ctor public MediaLibraryService.MediaLibrarySession.MediaLibrarySessionCallback();
method public androidx.media2.MediaLibraryService.LibraryResult onGetChildren(androidx.media2.MediaLibraryService.MediaLibrarySession, androidx.media2.MediaSession.ControllerInfo, String, @IntRange(from=0) int, @IntRange(from=1) int, androidx.media2.MediaLibraryService.LibraryParams?);
method public androidx.media2.MediaLibraryService.LibraryResult onGetItem(androidx.media2.MediaLibraryService.MediaLibrarySession, androidx.media2.MediaSession.ControllerInfo, String);
method public androidx.media2.MediaLibraryService.LibraryResult onGetLibraryRoot(androidx.media2.MediaLibraryService.MediaLibrarySession, androidx.media2.MediaSession.ControllerInfo, androidx.media2.MediaLibraryService.LibraryParams?);
method public androidx.media2.MediaLibraryService.LibraryResult onGetSearchResult(androidx.media2.MediaLibraryService.MediaLibrarySession, androidx.media2.MediaSession.ControllerInfo, String, @IntRange(from=0) int, @IntRange(from=1) int, androidx.media2.MediaLibraryService.LibraryParams?);
method public int onSearch(androidx.media2.MediaLibraryService.MediaLibrarySession, androidx.media2.MediaSession.ControllerInfo, String, androidx.media2.MediaLibraryService.LibraryParams?);
method public int onSubscribe(androidx.media2.MediaLibraryService.MediaLibrarySession, androidx.media2.MediaSession.ControllerInfo, String, androidx.media2.MediaLibraryService.LibraryParams?);
method public int onUnsubscribe(androidx.media2.MediaLibraryService.MediaLibrarySession, androidx.media2.MediaSession.ControllerInfo, String);
}
public final class MediaMetadata extends androidx.versionedparcelable.CustomVersionedParcelable {
method public boolean containsKey(String);
method public android.graphics.Bitmap? getBitmap(String);
method public android.os.Bundle? getExtras();
method public float getFloat(String);
method public long getLong(String);
method public String? getMediaId();
method public androidx.media2.Rating? getRating(String);
method public String? getString(String);
method public CharSequence? getText(String);
method public java.util.Set<java.lang.String> keySet();
method public int size();
field public static final long BROWSABLE_TYPE_ALBUMS = 2L; // 0x2L
field public static final long BROWSABLE_TYPE_ARTISTS = 3L; // 0x3L
field public static final long BROWSABLE_TYPE_GENRES = 4L; // 0x4L
field public static final long BROWSABLE_TYPE_MIXED = 0L; // 0x0L
field public static final long BROWSABLE_TYPE_NONE = -1L; // 0xffffffffffffffffL
field public static final long BROWSABLE_TYPE_PLAYLISTS = 5L; // 0x5L
field public static final long BROWSABLE_TYPE_TITLES = 1L; // 0x1L
field public static final long BROWSABLE_TYPE_YEARS = 6L; // 0x6L
field public static final String METADATA_KEY_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
field public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
field public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
field public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
field public static final String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI";
field public static final String METADATA_KEY_ART = "android.media.metadata.ART";
field public static final String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST";
field public static final String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI";
field public static final String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR";
field public static final String METADATA_KEY_BROWSABLE = "android.media.metadata.BROWSABLE";
field public static final String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION";
field public static final String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER";
field public static final String METADATA_KEY_DATE = "android.media.metadata.DATE";
field public static final String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
field public static final String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION";
field public static final String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON";
field public static final String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI";
field public static final String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE";
field public static final String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE";
field public static final String METADATA_KEY_DOWNLOAD_STATUS = "android.media.metadata.DOWNLOAD_STATUS";
field public static final String METADATA_KEY_DURATION = "android.media.metadata.DURATION";
field public static final String METADATA_KEY_EXTRAS = "android.media.metadata.EXTRAS";
field public static final String METADATA_KEY_GENRE = "android.media.metadata.GENRE";
field public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID";
field public static final String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI";
field public static final String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS";
field public static final String METADATA_KEY_PLAYABLE = "android.media.metadata.PLAYABLE";
field public static final String METADATA_KEY_RATING = "android.media.metadata.RATING";
field public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE";
field public static final String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
field public static final String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING";
field public static final String METADATA_KEY_WRITER = "android.media.metadata.WRITER";
field public static final 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 MediaMetadata.Builder {
ctor public MediaMetadata.Builder();
ctor public MediaMetadata.Builder(androidx.media2.MediaMetadata);
method public androidx.media2.MediaMetadata build();
method public androidx.media2.MediaMetadata.Builder putBitmap(String, android.graphics.Bitmap?);
method public androidx.media2.MediaMetadata.Builder putFloat(String, float);
method public androidx.media2.MediaMetadata.Builder putLong(String, long);
method public androidx.media2.MediaMetadata.Builder putRating(String, androidx.media2.Rating?);
method public androidx.media2.MediaMetadata.Builder putString(String, String?);
method public androidx.media2.MediaMetadata.Builder putText(String, CharSequence?);
method public androidx.media2.MediaMetadata.Builder setExtras(android.os.Bundle?);
}
public class MediaPlayer extends androidx.media2.SessionPlayer {
ctor public MediaPlayer(android.content.Context);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> addPlaylistItem(int, androidx.media2.MediaItem);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> attachAuxEffect(int);
method public void close() throws java.lang.Exception;
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> deselectTrack(int);
method public androidx.media.AudioAttributesCompat? getAudioAttributes();
method public int getAudioSessionId();
method public long getBufferedPosition();
method public int getBufferingState();
method public androidx.media2.MediaItem? getCurrentMediaItem();
method public int getCurrentMediaItemIndex();
method public long getCurrentPosition();
method public long getDuration();
method public float getMaxPlayerVolume();
method public int getNextMediaItemIndex();
method public androidx.media2.PlaybackParams getPlaybackParams();
method public float getPlaybackSpeed();
method public int getPlayerState();
method public float getPlayerVolume();
method public java.util.List<androidx.media2.MediaItem>? getPlaylist();
method public androidx.media2.MediaMetadata? getPlaylistMetadata();
method public int getPreviousMediaItemIndex();
method public int getRepeatMode();
method public int getSelectedTrack(int);
method public int getShuffleMode();
method public androidx.media2.MediaTimestamp? getTimestamp();
method public java.util.List<androidx.media2.MediaPlayer.TrackInfo> getTrackInfo();
method public androidx.media2.VideoSize getVideoSize();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> pause();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> play();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> prepare();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> removePlaylistItem(@IntRange(from=0) int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> replacePlaylistItem(int, androidx.media2.MediaItem);
method public void reset();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> seekTo(long);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> seekTo(long, int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> selectTrack(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setAudioAttributes(androidx.media.AudioAttributesCompat);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setAudioSessionId(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setAuxEffectSendLevel(float);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setMediaItem(androidx.media2.MediaItem);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setPlaybackParams(androidx.media2.PlaybackParams);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setPlaybackSpeed(float);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setPlayerVolume(float);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setPlaylist(java.util.List<androidx.media2.MediaItem>, androidx.media2.MediaMetadata?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setRepeatMode(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setShuffleMode(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setSurface(android.view.Surface?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> skipToNextPlaylistItem();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> skipToPlaylistItem(@IntRange(from=0) int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> skipToPreviousPlaylistItem();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> updatePlaylistMetadata(androidx.media2.MediaMetadata?);
field public static final int MEDIA_INFO_AUDIO_NOT_PLAYING = 804; // 0x324
field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320
field public static final int MEDIA_INFO_BUFFERING_UPDATE = 704; // 0x2c0
field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321
field public static final int MEDIA_INFO_PREPARED = 100; // 0x64
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 PLAYER_ERROR_IO = -1004; // 0xfffffc14
field public static final int PLAYER_ERROR_MALFORMED = -1007; // 0xfffffc11
field public static final int PLAYER_ERROR_TIMED_OUT = -110; // 0xffffff92
field public static final int PLAYER_ERROR_UNKNOWN = 1; // 0x1
field public static final int PLAYER_ERROR_UNSUPPORTED = -1010; // 0xfffffc0e
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
}
public abstract static class MediaPlayer.PlayerCallback extends androidx.media2.SessionPlayer.PlayerCallback {
ctor public MediaPlayer.PlayerCallback();
method public void onError(androidx.media2.MediaPlayer, androidx.media2.MediaItem, int, int);
method public void onInfo(androidx.media2.MediaPlayer, androidx.media2.MediaItem, int, int);
method public void onMediaTimeDiscontinuity(androidx.media2.MediaPlayer, androidx.media2.MediaItem, androidx.media2.MediaTimestamp);
method public void onSubtitleData(androidx.media2.MediaPlayer, androidx.media2.MediaItem, androidx.media2.SubtitleData);
method public void onTimedMetaDataAvailable(androidx.media2.MediaPlayer, androidx.media2.MediaItem, androidx.media2.TimedMetaData);
method public void onVideoSizeChanged(androidx.media2.MediaPlayer, androidx.media2.MediaItem, androidx.media2.VideoSize);
}
public static final class MediaPlayer.TrackInfo {
method public android.media.MediaFormat? getFormat();
method public String getLanguage();
method public int getTrackType();
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 class MediaSession implements java.lang.AutoCloseable {
method public void broadcastCustomCommand(androidx.media2.SessionCommand, android.os.Bundle?);
method public void close();
method public java.util.List<androidx.media2.MediaSession.ControllerInfo> getConnectedControllers();
method public String getId();
method public androidx.media2.SessionPlayer getPlayer();
method public androidx.media2.SessionToken getToken();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaSession.SessionResult> sendCustomCommand(androidx.media2.MediaSession.ControllerInfo, androidx.media2.SessionCommand, android.os.Bundle?);
method public void setAllowedCommands(androidx.media2.MediaSession.ControllerInfo, androidx.media2.SessionCommandGroup);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.MediaSession.SessionResult> setCustomLayout(androidx.media2.MediaSession.ControllerInfo, java.util.List<androidx.media2.MediaSession.CommandButton>);
method public void updatePlayer(androidx.media2.SessionPlayer);
}
public static final class MediaSession.Builder {
ctor public MediaSession.Builder(android.content.Context, androidx.media2.SessionPlayer);
method public androidx.media2.MediaSession build();
method public androidx.media2.MediaSession.Builder setId(String);
method public androidx.media2.MediaSession.Builder setSessionActivity(android.app.PendingIntent?);
method public androidx.media2.MediaSession.Builder setSessionCallback(java.util.concurrent.Executor, androidx.media2.MediaSession.SessionCallback);
}
public static final class MediaSession.CommandButton implements androidx.versionedparcelable.VersionedParcelable {
method public androidx.media2.SessionCommand? getCommand();
method public CharSequence? getDisplayName();
method public android.os.Bundle? getExtras();
method public int getIconResId();
method public boolean isEnabled();
}
public static final class MediaSession.CommandButton.Builder {
ctor public MediaSession.CommandButton.Builder();
method public androidx.media2.MediaSession.CommandButton build();
method public androidx.media2.MediaSession.CommandButton.Builder setCommand(androidx.media2.SessionCommand?);
method public androidx.media2.MediaSession.CommandButton.Builder setDisplayName(CharSequence?);
method public androidx.media2.MediaSession.CommandButton.Builder setEnabled(boolean);
method public androidx.media2.MediaSession.CommandButton.Builder setExtras(android.os.Bundle?);
method public androidx.media2.MediaSession.CommandButton.Builder setIconResId(int);
}
public static final class MediaSession.ControllerInfo {
method public String getPackageName();
method public int getUid();
}
public abstract static class MediaSession.SessionCallback {
ctor public MediaSession.SessionCallback();
method public int onCommandRequest(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo, androidx.media2.SessionCommand);
method public androidx.media2.SessionCommandGroup? onConnect(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo);
method public androidx.media2.MediaItem? onCreateMediaItem(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo, String);
method public androidx.media2.MediaSession.SessionResult onCustomCommand(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo, androidx.media2.SessionCommand, android.os.Bundle?);
method public void onDisconnected(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo);
method public int onFastForward(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo);
method public int onRewind(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo);
method public int onSetRating(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo, String, androidx.media2.Rating);
method public int onSkipBackward(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo);
method public int onSkipForward(androidx.media2.MediaSession, androidx.media2.MediaSession.ControllerInfo);
}
public static class MediaSession.SessionResult implements androidx.versionedparcelable.VersionedParcelable {
ctor public MediaSession.SessionResult(int, android.os.Bundle?);
method public long getCompletionTime();
method public android.os.Bundle? getCustomCommandResult();
method public int getResultCode();
field public static final int RESULT_CODE_AUTHENTICATION_EXPIRED = -102; // 0xffffff9a
field public static final int RESULT_CODE_BAD_VALUE = -3; // 0xfffffffd
field public static final int RESULT_CODE_CONCURRENT_STREAM_LIMIT = -104; // 0xffffff98
field public static final int RESULT_CODE_DISCONNECTED = -100; // 0xffffff9c
field public static final int RESULT_CODE_INVALID_STATE = -2; // 0xfffffffe
field public static final int RESULT_CODE_IO_ERROR = -5; // 0xfffffffb
field public static final int RESULT_CODE_NOT_AVAILABLE_IN_REGION = -106; // 0xffffff96
field public static final int RESULT_CODE_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int RESULT_CODE_PARENTAL_CONTROL_RESTRICTED = -105; // 0xffffff97
field public static final int RESULT_CODE_PERMISSION_DENIED = -4; // 0xfffffffc
field public static final int RESULT_CODE_PREMIUM_ACCOUNT_REQUIRED = -103; // 0xffffff99
field public static final int RESULT_CODE_SETUP_REQUIRED = -108; // 0xffffff94
field public static final int RESULT_CODE_SKIPPED = 1; // 0x1
field public static final int RESULT_CODE_SKIP_LIMIT_REACHED = -107; // 0xffffff95
field public static final int RESULT_CODE_SUCCESS = 0; // 0x0
field public static final int RESULT_CODE_UNKNOWN_ERROR = -1; // 0xffffffff
}
@RequiresApi(28) public final class MediaSessionManager {
method public static androidx.media2.MediaSessionManager getInstance(android.content.Context);
method public java.util.Set<androidx.media2.SessionToken> getSessionServiceTokens();
}
public abstract class MediaSessionService extends android.app.Service {
ctor public MediaSessionService();
method public final void addSession(androidx.media2.MediaSession);
method public final java.util.List<androidx.media2.MediaSession> getSessions();
method @CallSuper public android.os.IBinder? onBind(android.content.Intent);
method public abstract androidx.media2.MediaSession onGetSession();
method public androidx.media2.MediaSessionService.MediaNotification? onUpdateNotification(androidx.media2.MediaSession);
method public final void removeSession(androidx.media2.MediaSession);
field public static final String SERVICE_INTERFACE = "androidx.media2.MediaSessionService";
}
public static class MediaSessionService.MediaNotification {
ctor public MediaSessionService.MediaNotification(int, android.app.Notification);
method public android.app.Notification getNotification();
method public int getNotificationId();
}
public final class MediaTimestamp {
method public long getAnchorMediaTimeUs();
method public long getAnchorSystemNanoTime();
method public float getMediaClockRate();
field public static final androidx.media2.MediaTimestamp TIMESTAMP_UNKNOWN;
}
public final class PercentageRating implements androidx.media2.Rating {
ctor public PercentageRating();
ctor public PercentageRating(float);
method public float getPercentRating();
method public boolean isRated();
}
public final class PlaybackParams {
method public Integer? getAudioFallbackMode();
method public Float? getPitch();
method public Float? getSpeed();
field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
}
public static final class PlaybackParams.Builder {
ctor public PlaybackParams.Builder();
method public androidx.media2.PlaybackParams build();
method public androidx.media2.PlaybackParams.Builder setAudioFallbackMode(int);
method public androidx.media2.PlaybackParams.Builder setPitch(float);
method public androidx.media2.PlaybackParams.Builder setSpeed(float);
}
public interface Rating extends androidx.versionedparcelable.VersionedParcelable {
method public boolean isRated();
}
public final class SessionCommand implements androidx.versionedparcelable.VersionedParcelable {
ctor public SessionCommand(int);
ctor public SessionCommand(String, android.os.Bundle?);
method public int getCommandCode();
method public 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 = 50003; // 0xc353
field public static final int COMMAND_CODE_LIBRARY_GET_ITEM = 50004; // 0xc354
field public static final int COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT = 50000; // 0xc350
field public static final int COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT = 50006; // 0xc356
field public static final int COMMAND_CODE_LIBRARY_SEARCH = 50005; // 0xc355
field public static final int COMMAND_CODE_LIBRARY_SUBSCRIBE = 50001; // 0xc351
field public static final int COMMAND_CODE_LIBRARY_UNSUBSCRIBE = 50002; // 0xc352
field public static final int COMMAND_CODE_PLAYER_ADD_PLAYLIST_ITEM = 10013; // 0x271d
field public static final int COMMAND_CODE_PLAYER_GET_CURRENT_MEDIA_ITEM = 10016; // 0x2720
field public static final int COMMAND_CODE_PLAYER_GET_PLAYLIST = 10005; // 0x2715
field public static final int COMMAND_CODE_PLAYER_GET_PLAYLIST_METADATA = 10012; // 0x271c
field public static final int COMMAND_CODE_PLAYER_PAUSE = 10001; // 0x2711
field public static final int COMMAND_CODE_PLAYER_PLAY = 10000; // 0x2710
field public static final int COMMAND_CODE_PLAYER_PREPARE = 10002; // 0x2712
field public static final int COMMAND_CODE_PLAYER_REMOVE_PLAYLIST_ITEM = 10014; // 0x271e
field public static final int COMMAND_CODE_PLAYER_REPLACE_PLAYLIST_ITEM = 10015; // 0x271f
field public static final int COMMAND_CODE_PLAYER_SEEK_TO = 10003; // 0x2713
field public static final int COMMAND_CODE_PLAYER_SET_MEDIA_ITEM = 10018; // 0x2722
field public static final int COMMAND_CODE_PLAYER_SET_PLAYLIST = 10006; // 0x2716
field public static final int COMMAND_CODE_PLAYER_SET_REPEAT_MODE = 10011; // 0x271b
field public static final int COMMAND_CODE_PLAYER_SET_SHUFFLE_MODE = 10010; // 0x271a
field public static final int COMMAND_CODE_PLAYER_SET_SPEED = 10004; // 0x2714
field public static final int COMMAND_CODE_PLAYER_SKIP_TO_NEXT_PLAYLIST_ITEM = 10009; // 0x2719
field public static final int COMMAND_CODE_PLAYER_SKIP_TO_PLAYLIST_ITEM = 10007; // 0x2717
field public static final int COMMAND_CODE_PLAYER_SKIP_TO_PREVIOUS_PLAYLIST_ITEM = 10008; // 0x2718
field public static final int COMMAND_CODE_PLAYER_UPDATE_LIST_METADATA = 10017; // 0x2721
field public static final int COMMAND_CODE_SESSION_FAST_FORWARD = 40000; // 0x9c40
field public static final int COMMAND_CODE_SESSION_REWIND = 40001; // 0x9c41
field public static final int COMMAND_CODE_SESSION_SET_RATING = 40010; // 0x9c4a
field public static final int COMMAND_CODE_SESSION_SKIP_BACKWARD = 40003; // 0x9c43
field public static final int COMMAND_CODE_SESSION_SKIP_FORWARD = 40002; // 0x9c42
field public static final int COMMAND_CODE_VOLUME_ADJUST_VOLUME = 30001; // 0x7531
field public static final int COMMAND_CODE_VOLUME_SET_VOLUME = 30000; // 0x7530
field public static final int COMMAND_VERSION_1 = 1; // 0x1
}
public final class SessionCommandGroup implements androidx.versionedparcelable.VersionedParcelable {
ctor public SessionCommandGroup();
ctor public SessionCommandGroup(java.util.Collection<androidx.media2.SessionCommand>?);
method public java.util.Set<androidx.media2.SessionCommand> getCommands();
method public boolean hasCommand(androidx.media2.SessionCommand);
method public boolean hasCommand(int);
}
public static final class SessionCommandGroup.Builder {
ctor public SessionCommandGroup.Builder();
ctor public SessionCommandGroup.Builder(androidx.media2.SessionCommandGroup);
method public androidx.media2.SessionCommandGroup.Builder addAllPredefinedCommands(int);
method public androidx.media2.SessionCommandGroup.Builder addCommand(androidx.media2.SessionCommand);
method public androidx.media2.SessionCommandGroup.Builder addCommand(int);
method public androidx.media2.SessionCommandGroup build();
method public androidx.media2.SessionCommandGroup.Builder removeCommand(androidx.media2.SessionCommand);
method public androidx.media2.SessionCommandGroup.Builder removeCommand(int);
}
public abstract class SessionPlayer implements java.lang.AutoCloseable {
ctor public SessionPlayer();
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> addPlaylistItem(int, androidx.media2.MediaItem);
method public abstract androidx.media.AudioAttributesCompat? getAudioAttributes();
method public abstract long getBufferedPosition();
method public abstract int getBufferingState();
method protected final java.util.List<androidx.core.util.Pair<androidx.media2.SessionPlayer.PlayerCallback,java.util.concurrent.Executor>> getCallbacks();
method public abstract androidx.media2.MediaItem? getCurrentMediaItem();
method public abstract int getCurrentMediaItemIndex();
method public abstract long getCurrentPosition();
method public abstract long getDuration();
method public abstract int getNextMediaItemIndex();
method public abstract float getPlaybackSpeed();
method public abstract int getPlayerState();
method public abstract java.util.List<androidx.media2.MediaItem>? getPlaylist();
method public abstract androidx.media2.MediaMetadata? getPlaylistMetadata();
method public abstract int getPreviousMediaItemIndex();
method public abstract int getRepeatMode();
method public abstract int getShuffleMode();
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> pause();
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> play();
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> prepare();
method public final void registerPlayerCallback(java.util.concurrent.Executor, androidx.media2.SessionPlayer.PlayerCallback);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> removePlaylistItem(@IntRange(from=0) int);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> replacePlaylistItem(int, androidx.media2.MediaItem);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> seekTo(long);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setAudioAttributes(androidx.media.AudioAttributesCompat);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setMediaItem(androidx.media2.MediaItem);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setPlaybackSpeed(float);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setPlaylist(java.util.List<androidx.media2.MediaItem>, androidx.media2.MediaMetadata?);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setRepeatMode(int);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> setShuffleMode(int);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> skipToNextPlaylistItem();
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> skipToPlaylistItem(@IntRange(from=0) int);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> skipToPreviousPlaylistItem();
method public final void unregisterPlayerCallback(androidx.media2.SessionPlayer.PlayerCallback);
method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.media2.SessionPlayer.PlayerResult> updatePlaylistMetadata(androidx.media2.MediaMetadata?);
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_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 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
field public static final long UNKNOWN_TIME = -1L; // 0xffffffffffffffffL
}
public abstract static class SessionPlayer.PlayerCallback {
ctor public SessionPlayer.PlayerCallback();
method public void onAudioAttributesChanged(androidx.media2.SessionPlayer, androidx.media.AudioAttributesCompat?);
method public void onBufferingStateChanged(androidx.media2.SessionPlayer, androidx.media2.MediaItem?, int);
method public void onCurrentMediaItemChanged(androidx.media2.SessionPlayer, androidx.media2.MediaItem);
method public void onPlaybackCompleted(androidx.media2.SessionPlayer);
method public void onPlaybackSpeedChanged(androidx.media2.SessionPlayer, float);
method public void onPlayerStateChanged(androidx.media2.SessionPlayer, int);
method public void onPlaylistChanged(androidx.media2.SessionPlayer, java.util.List<androidx.media2.MediaItem>?, androidx.media2.MediaMetadata?);
method public void onPlaylistMetadataChanged(androidx.media2.SessionPlayer, androidx.media2.MediaMetadata?);
method public void onRepeatModeChanged(androidx.media2.SessionPlayer, int);
method public void onSeekCompleted(androidx.media2.SessionPlayer, long);
method public void onShuffleModeChanged(androidx.media2.SessionPlayer, int);
}
public static class SessionPlayer.PlayerResult {
ctor public SessionPlayer.PlayerResult(int, androidx.media2.MediaItem?);
method public long getCompletionTime();
method public androidx.media2.MediaItem? getMediaItem();
method public int getResultCode();
field public static final int RESULT_CODE_BAD_VALUE = -3; // 0xfffffffd
field public static final int RESULT_CODE_INVALID_STATE = -2; // 0xfffffffe
field public static final int RESULT_CODE_IO_ERROR = -5; // 0xfffffffb
field public static final int RESULT_CODE_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int RESULT_CODE_PERMISSION_DENIED = -4; // 0xfffffffc
field public static final int RESULT_CODE_SKIPPED = 1; // 0x1
field public static final int RESULT_CODE_SUCCESS = 0; // 0x0
field public static final int RESULT_CODE_UNKNOWN_ERROR = -1; // 0xffffffff
}
public final class SessionToken implements androidx.versionedparcelable.VersionedParcelable {
ctor public SessionToken(android.content.Context, android.content.ComponentName);
method public String getPackageName();
method public String? getServiceName();
method public int getType();
method public int getUid();
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 final class StarRating implements androidx.media2.Rating {
ctor public StarRating(@IntRange(from=1) int);
ctor public StarRating(@IntRange(from=1) int, float);
method public int getMaxStars();
method public float getStarRating();
method public boolean isRated();
}
public final class SubtitleData {
method public byte[] getData();
method public long getDurationUs();
method public long getStartTimeUs();
method public int getTrackIndex();
field public static final String MIMETYPE_TEXT_CEA_608 = "text/cea-608";
field public static final String MIMETYPE_TEXT_CEA_708 = "text/cea-708";
field public static final String MIMETYPE_TEXT_VTT = "text/vtt";
}
public final class ThumbRating implements androidx.media2.Rating {
ctor public ThumbRating();
ctor public ThumbRating(boolean);
method public boolean isRated();
method public boolean isThumbUp();
}
public class TimedMetaData {
method public byte[]! getMetaData();
method public long getTimestamp();
}
public class UriMediaItem extends androidx.media2.MediaItem {
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();
}
public static final class UriMediaItem.Builder {
ctor public UriMediaItem.Builder(android.content.Context, android.net.Uri);
ctor public UriMediaItem.Builder(android.content.Context, android.net.Uri, java.util.Map<java.lang.String,java.lang.String>?, java.util.List<java.net.HttpCookie>?);
method public androidx.media2.UriMediaItem build();
method public androidx.media2.UriMediaItem.Builder! setEndPosition(long);
method public androidx.media2.UriMediaItem.Builder! setMetadata(androidx.media2.MediaMetadata!);
method public androidx.media2.UriMediaItem.Builder! setStartPosition(long);
}
public final class VideoSize {
method public int getHeight();
method public int getWidth();
}
}