blob: b53505e3664f4fc20ed63fe346759b059e8fda70 [file] [log] [blame]
// Signature format: 3.0
package androidx.media2.player {
public final class MediaPlayer extends androidx.media2.common.SessionPlayer {
ctor public MediaPlayer(android.content.Context);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> addPlaylistItem(int, androidx.media2.common.MediaItem);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> attachAuxEffect(int);
method public void close() throws java.lang.Exception;
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> deselectTrack(androidx.media2.player.MediaPlayer.TrackInfo);
method public androidx.media.AudioAttributesCompat? getAudioAttributes();
method public int getAudioSessionId();
method public long getBufferedPosition();
method @androidx.media2.common.SessionPlayer.BuffState public int getBufferingState();
method public androidx.media2.common.MediaItem? getCurrentMediaItem();
method public int getCurrentMediaItemIndex();
method public long getCurrentPosition();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.media2.player.MediaPlayer.DrmInfo? getDrmInfo();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.media.MediaDrm.KeyRequest getDrmKeyRequest(byte[]?, byte[]?, String?, int, java.util.Map<java.lang.String!,java.lang.String!>?) throws androidx.media2.player.MediaPlayer.NoDrmSchemeException;
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public String getDrmPropertyString(String) throws androidx.media2.player.MediaPlayer.NoDrmSchemeException;
method public long getDuration();
method public float getMaxPlayerVolume();
method @RequiresApi(21) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.os.PersistableBundle! getMetrics();
method public int getNextMediaItemIndex();
method public androidx.media2.player.PlaybackParams getPlaybackParams();
method @FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE, fromInclusive=false) public float getPlaybackSpeed();
method @androidx.media2.common.SessionPlayer.PlayerState public int getPlayerState();
method public float getPlayerVolume();
method public java.util.List<androidx.media2.common.MediaItem!>? getPlaylist();
method public androidx.media2.common.MediaMetadata? getPlaylistMetadata();
method public int getPreviousMediaItemIndex();
method public int getRepeatMode();
method public androidx.media2.player.MediaPlayer.TrackInfo? getSelectedTrack(@androidx.media2.player.MediaPlayer.TrackInfo.MediaTrackType int);
method public int getShuffleMode();
method public androidx.media2.player.MediaTimestamp? getTimestamp();
method public java.util.List<androidx.media2.player.MediaPlayer.TrackInfo!> getTrackInfo();
method public androidx.media2.player.VideoSize getVideoSize();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> pause();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> play();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> prepare();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public com.google.common.util.concurrent.ListenableFuture<androidx.media2.player.MediaPlayer.DrmResult!> prepareDrm(java.util.UUID);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public byte[]? provideDrmKeyResponse(byte[]?, byte[]) throws android.media.DeniedByServerException, androidx.media2.player.MediaPlayer.NoDrmSchemeException;
method public void registerPlayerCallback(java.util.concurrent.Executor, androidx.media2.player.MediaPlayer.PlayerCallback);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void releaseDrm() throws androidx.media2.player.MediaPlayer.NoDrmSchemeException;
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> removePlaylistItem(@IntRange(from=0) int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> replacePlaylistItem(int, androidx.media2.common.MediaItem);
method public void reset();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void restoreDrmKeys(byte[]) throws androidx.media2.player.MediaPlayer.NoDrmSchemeException;
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> seekTo(long);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> seekTo(long, @androidx.media2.player.MediaPlayer.SeekMode int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> selectTrack(androidx.media2.player.MediaPlayer.TrackInfo);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setAudioAttributes(androidx.media.AudioAttributesCompat);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setAudioSessionId(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setAuxEffectSendLevel(@FloatRange(from=0, to=1) float);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setDrmPropertyString(String, String) throws androidx.media2.player.MediaPlayer.NoDrmSchemeException;
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setMediaItem(androidx.media2.common.MediaItem);
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setOnDrmConfigHelper(androidx.media2.player.MediaPlayer.OnDrmConfigHelper?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setPlaybackParams(androidx.media2.player.PlaybackParams);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setPlaybackSpeed(@FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE, fromInclusive=false) float);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setPlayerVolume(@FloatRange(from=0, to=1) float);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setPlaylist(java.util.List<androidx.media2.common.MediaItem!>, androidx.media2.common.MediaMetadata?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setRepeatMode(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setShuffleMode(int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> setSurface(android.view.Surface?);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> skipToNextPlaylistItem();
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> skipToPlaylistItem(@IntRange(from=0) int);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> skipToPreviousPlaylistItem();
method public void unregisterPlayerCallback(androidx.media2.player.MediaPlayer.PlayerCallback);
method public com.google.common.util.concurrent.ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult!> updatePlaylistMetadata(androidx.media2.common.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 @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd
field public static final int MEDIA_INFO_BUFFERING_UPDATE = 704; // 0x2c0
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_EXTERNAL_METADATA_UPDATE = 803; // 0x323
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_MEDIA_ITEM_END = 5; // 0x5
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_MEDIA_ITEM_LIST_END = 6; // 0x6
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_MEDIA_ITEM_REPEAT = 7; // 0x7
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_MEDIA_ITEM_START = 2; // 0x2
field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_NETWORK_BANDWIDTH = 703; // 0x2bf
field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_PREPARED = 100; // 0x64
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902; // 0x386
field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) 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 NO_TRACK_SELECTED = -2147483648; // 0x80000000
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
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final class MediaPlayer.DrmInfo {
method public java.util.Map<java.util.UUID!,byte[]!> getPssh();
method public java.util.List<java.util.UUID!> getSupportedSchemes();
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class MediaPlayer.DrmResult extends androidx.media2.common.SessionPlayer.PlayerResult {
ctor public MediaPlayer.DrmResult(@androidx.media2.player.MediaPlayer.DrmResult.DrmResultCode int, androidx.media2.common.MediaItem);
field public static final int RESULT_ERROR_PREPARATION_ERROR = -1003; // 0xfffffc15
field public static final int RESULT_ERROR_PROVISIONING_NETWORK_ERROR = -1001; // 0xfffffc17
field public static final int RESULT_ERROR_PROVISIONING_SERVER_ERROR = -1002; // 0xfffffc16
field public static final int RESULT_ERROR_RESOURCE_BUSY = -1005; // 0xfffffc13
field public static final int RESULT_ERROR_UNSUPPORTED_SCHEME = -1004; // 0xfffffc14
}
@IntDef(flag=false, value={androidx.media2.common.BaseResult.RESULT_SUCCESS, androidx.media2.player.MediaPlayer.DrmResult.RESULT_ERROR_PROVISIONING_NETWORK_ERROR, androidx.media2.player.MediaPlayer.DrmResult.RESULT_ERROR_PROVISIONING_SERVER_ERROR, androidx.media2.player.MediaPlayer.DrmResult.RESULT_ERROR_PREPARATION_ERROR, androidx.media2.player.MediaPlayer.DrmResult.RESULT_ERROR_UNSUPPORTED_SCHEME, androidx.media2.player.MediaPlayer.DrmResult.RESULT_ERROR_RESOURCE_BUSY}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer.DrmResult.DrmResultCode {
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer.PLAYER_ERROR_UNKNOWN, androidx.media2.player.MediaPlayer.PLAYER_ERROR_IO, androidx.media2.player.MediaPlayer.PLAYER_ERROR_MALFORMED, androidx.media2.player.MediaPlayer.PLAYER_ERROR_UNSUPPORTED, androidx.media2.player.MediaPlayer.PLAYER_ERROR_TIMED_OUT}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer.MediaError {
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_START, androidx.media2.player.MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START, androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_END, androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_LIST_END, androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_REPEAT, androidx.media2.player.MediaPlayer.MEDIA_INFO_PREPARED, androidx.media2.player.MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING, androidx.media2.player.MediaPlayer.MEDIA_INFO_BUFFERING_START, androidx.media2.player.MediaPlayer.MEDIA_INFO_BUFFERING_END, androidx.media2.player.MediaPlayer.MEDIA_INFO_NETWORK_BANDWIDTH, androidx.media2.player.MediaPlayer.MEDIA_INFO_BUFFERING_UPDATE, androidx.media2.player.MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING, androidx.media2.player.MediaPlayer.MEDIA_INFO_NOT_SEEKABLE, androidx.media2.player.MediaPlayer.MEDIA_INFO_METADATA_UPDATE, androidx.media2.player.MediaPlayer.MEDIA_INFO_EXTERNAL_METADATA_UPDATE, androidx.media2.player.MediaPlayer.MEDIA_INFO_AUDIO_NOT_PLAYING, androidx.media2.player.MediaPlayer.MEDIA_INFO_VIDEO_NOT_PLAYING, androidx.media2.player.MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE, androidx.media2.player.MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer.MediaInfo {
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final class MediaPlayer.MetricsConstants {
field public static final String CODEC_AUDIO = "android.media.mediaplayer.audio.codec";
field public static final String CODEC_VIDEO = "android.media.mediaplayer.video.codec";
field public static final String DURATION = "android.media.mediaplayer.durationMs";
field public static final String ERRORS = "android.media.mediaplayer.err";
field public static final String ERROR_CODE = "android.media.mediaplayer.errcode";
field public static final String FRAMES = "android.media.mediaplayer.frames";
field public static final String FRAMES_DROPPED = "android.media.mediaplayer.dropped";
field public static final String HEIGHT = "android.media.mediaplayer.height";
field public static final String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime";
field public static final String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime";
field public static final String PLAYING = "android.media.mediaplayer.playingMs";
field public static final String WIDTH = "android.media.mediaplayer.width";
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class MediaPlayer.NoDrmSchemeException extends android.media.MediaDrmException {
ctor public MediaPlayer.NoDrmSchemeException(String?);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static interface MediaPlayer.OnDrmConfigHelper {
method public void onDrmConfig(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem);
}
public abstract static class MediaPlayer.PlayerCallback extends androidx.media2.common.SessionPlayer.PlayerCallback {
ctor public MediaPlayer.PlayerCallback();
method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void onDrmInfo(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem, androidx.media2.player.MediaPlayer.DrmInfo);
method public void onError(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem, @androidx.media2.player.MediaPlayer.MediaError int, int);
method public void onInfo(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem, @androidx.media2.player.MediaPlayer.MediaInfo int, int);
method public void onMediaTimeDiscontinuity(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem, androidx.media2.player.MediaTimestamp);
method public void onTimedMetaDataAvailable(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem, androidx.media2.player.TimedMetaData);
method public void onVideoSizeChanged(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem, androidx.media2.player.VideoSize);
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer.SEEK_PREVIOUS_SYNC, androidx.media2.player.MediaPlayer.SEEK_NEXT_SYNC, androidx.media2.player.MediaPlayer.SEEK_CLOSEST_SYNC, androidx.media2.player.MediaPlayer.SEEK_CLOSEST}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer.SeekMode {
}
public static final class MediaPlayer.TrackInfo {
ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public MediaPlayer.TrackInfo(int, androidx.media2.common.MediaItem!, int, android.media.MediaFormat!);
method public android.media.MediaFormat? getFormat();
method public java.util.Locale getLanguage();
method @androidx.media2.player.MediaPlayer.TrackInfo.MediaTrackType 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
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_UNKNOWN, androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_VIDEO, androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO, androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_SUBTITLE, androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_METADATA}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer.TrackInfo.MediaTrackType {
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class MediaPlayer2 {
ctor protected MediaPlayer2();
method public abstract Object! attachAuxEffect(int);
method public abstract boolean cancel(Object!);
method public abstract void clearDrmEventCallback();
method public abstract void clearEventCallback();
method public abstract void clearPendingCommands();
method public abstract void close();
method public static androidx.media2.player.MediaPlayer2! create(android.content.Context);
method public abstract Object! deselectTrack(int);
method public abstract androidx.media.AudioAttributesCompat? getAudioAttributes();
method public abstract int getAudioSessionId();
method public abstract long getBufferedPosition();
method public abstract androidx.media2.common.MediaItem? getCurrentMediaItem();
method public abstract long getCurrentPosition();
method public abstract androidx.media2.player.MediaPlayer2.DrmInfo! getDrmInfo();
method public abstract android.media.MediaDrm.KeyRequest getDrmKeyRequest(byte[]?, byte[]?, String?, int, java.util.Map<java.lang.String!,java.lang.String!>?) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public abstract String getDrmPropertyString(String) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public abstract long getDuration();
method public float getMaxPlayerVolume();
method @RequiresApi(21) public abstract android.os.PersistableBundle! getMetrics();
method public abstract androidx.media2.player.PlaybackParams getPlaybackParams();
method public abstract float getPlayerVolume();
method public abstract int getSelectedTrack(int);
method @androidx.media2.player.MediaPlayer2.MediaPlayer2State public abstract int getState();
method public abstract androidx.media2.player.MediaTimestamp? getTimestamp();
method public abstract java.util.List<androidx.media2.player.MediaPlayer2.TrackInfo!>! getTrackInfo();
method public abstract int getVideoHeight();
method public abstract int getVideoWidth();
method public abstract Object! loopCurrent(boolean);
method public abstract Object! notifyWhenCommandLabelReached(Object);
method public abstract Object! pause();
method public abstract Object! play();
method public abstract Object! prepare();
method public abstract Object! prepareDrm(java.util.UUID);
method public abstract byte[]! provideDrmKeyResponse(byte[]?, byte[]) throws android.media.DeniedByServerException, androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public abstract void releaseDrm() throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public abstract void reset();
method public abstract void restoreDrmKeys(byte[]) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public Object! seekTo(long);
method public abstract Object! seekTo(long, @androidx.media2.player.MediaPlayer2.SeekMode int);
method public abstract Object! selectTrack(int);
method public abstract Object! setAudioAttributes(androidx.media.AudioAttributesCompat);
method public abstract Object! setAudioSessionId(int);
method public abstract Object! setAuxEffectSendLevel(float);
method public abstract void setDrmEventCallback(java.util.concurrent.Executor, androidx.media2.player.MediaPlayer2.DrmEventCallback);
method public abstract void setDrmPropertyString(String, String) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public abstract void setEventCallback(java.util.concurrent.Executor, androidx.media2.player.MediaPlayer2.EventCallback);
method public abstract Object! setMediaItem(androidx.media2.common.MediaItem);
method public abstract Object! setNextMediaItem(androidx.media2.common.MediaItem);
method public abstract Object! setNextMediaItems(java.util.List<androidx.media2.common.MediaItem!>);
method public abstract void setOnDrmConfigHelper(androidx.media2.player.MediaPlayer2.OnDrmConfigHelper!);
method public abstract Object! setPlaybackParams(androidx.media2.player.PlaybackParams);
method public abstract Object! setPlayerVolume(float);
method public abstract Object! setSurface(android.view.Surface?);
method public abstract Object! 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_NOTIFY_WHEN_COMMAND_LABEL_REACHED = 1000; // 0x3e8
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_PREPARE_DRM = 1001; // 0x3e9
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_PLAYER_VOLUME = 26; // 0x1a
field public static final int CALL_COMPLETED_SET_SURFACE = 27; // 0x1b
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 CALL_STATUS_SKIPPED = 5; // 0x5
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_SYSTEM = -2147483648; // 0x80000000
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_DATA_SOURCE_END = 5; // 0x5
field public static final int MEDIA_INFO_DATA_SOURCE_LIST_END = 6; // 0x6
field public static final int MEDIA_INFO_DATA_SOURCE_REPEAT = 7; // 0x7
field public static final int MEDIA_INFO_DATA_SOURCE_START = 2; // 0x2
field public static final int MEDIA_INFO_EXTERNAL_METADATA_UPDATE = 803; // 0x323
field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322
field public static final int MEDIA_INFO_NETWORK_BANDWIDTH = 703; // 0x2bf
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_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 PLAYER_STATE_ERROR = 1005; // 0x3ed
field public static final int PLAYER_STATE_IDLE = 1001; // 0x3e9
field public static final int PLAYER_STATE_PAUSED = 1003; // 0x3eb
field public static final int PLAYER_STATE_PLAYING = 1004; // 0x3ec
field public static final int PLAYER_STATE_PREPARED = 1002; // 0x3ea
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_RESOURCE_BUSY = 5; // 0x5
field public static final int PREPARE_DRM_STATUS_SUCCESS = 0; // 0x0
field public static final int PREPARE_DRM_STATUS_UNSUPPORTED_SCHEME = 4; // 0x4
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 SEPARATE_CALL_COMPLETE_CALLBACK_START = 1000; // 0x3e8
field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer2.CALL_COMPLETED_ATTACH_AUX_EFFECT, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_DESELECT_TRACK, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_LOOP_CURRENT, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_PAUSE, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_PLAY, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_PREPARE, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SEEK_TO, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SELECT_TRACK, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_AUDIO_ATTRIBUTES, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_AUDIO_SESSION_ID, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_AUX_EFFECT_SEND_LEVEL, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_DATA_SOURCE, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_NEXT_DATA_SOURCE, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_NEXT_DATA_SOURCES, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_PLAYBACK_PARAMS, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_PLAYER_VOLUME, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SET_SURFACE, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_SKIP_TO_NEXT, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_NOTIFY_WHEN_COMMAND_LABEL_REACHED, androidx.media2.player.MediaPlayer2.CALL_COMPLETED_PREPARE_DRM}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer2.CallCompleted {
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer2.CALL_STATUS_NO_ERROR, androidx.media2.player.MediaPlayer2.CALL_STATUS_ERROR_UNKNOWN, androidx.media2.player.MediaPlayer2.CALL_STATUS_INVALID_OPERATION, androidx.media2.player.MediaPlayer2.CALL_STATUS_BAD_VALUE, androidx.media2.player.MediaPlayer2.CALL_STATUS_PERMISSION_DENIED, androidx.media2.player.MediaPlayer2.CALL_STATUS_ERROR_IO, androidx.media2.player.MediaPlayer2.CALL_STATUS_SKIPPED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer2.CallStatus {
}
public abstract static class MediaPlayer2.DrmEventCallback {
ctor public MediaPlayer2.DrmEventCallback();
method public void onDrmInfo(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, androidx.media2.player.MediaPlayer2.DrmInfo!);
method public void onDrmPrepared(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, @androidx.media2.player.MediaPlayer2.PrepareDrmStatusCode int);
}
public abstract static 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 abstract static class MediaPlayer2.EventCallback {
ctor public MediaPlayer2.EventCallback();
method public void onCallCompleted(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, @androidx.media2.player.MediaPlayer2.CallCompleted int, @androidx.media2.player.MediaPlayer2.CallStatus int);
method public void onCommandLabelReached(androidx.media2.player.MediaPlayer2!, Object);
method public void onError(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, @androidx.media2.player.MediaPlayer2.MediaError int, int);
method public void onInfo(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, @androidx.media2.player.MediaPlayer2.MediaInfo int, int);
method public void onMediaTimeDiscontinuity(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, androidx.media2.player.MediaTimestamp!);
method public void onSubtitleData(androidx.media2.player.MediaPlayer2, androidx.media2.common.MediaItem, int, androidx.media2.common.SubtitleData);
method public void onTimedMetaDataAvailable(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, androidx.media2.player.TimedMetaData!);
method public void onVideoSizeChanged(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!, int, int);
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer2.MEDIA_ERROR_UNKNOWN, androidx.media2.player.MediaPlayer2.MEDIA_ERROR_IO, androidx.media2.player.MediaPlayer2.MEDIA_ERROR_MALFORMED, androidx.media2.player.MediaPlayer2.MEDIA_ERROR_UNSUPPORTED, androidx.media2.player.MediaPlayer2.MEDIA_ERROR_TIMED_OUT, androidx.media2.player.MediaPlayer2.MEDIA_ERROR_SYSTEM}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer2.MediaError {
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer2.MEDIA_INFO_UNKNOWN, androidx.media2.player.MediaPlayer2.MEDIA_INFO_DATA_SOURCE_START, androidx.media2.player.MediaPlayer2.MEDIA_INFO_VIDEO_RENDERING_START, androidx.media2.player.MediaPlayer2.MEDIA_INFO_AUDIO_RENDERING_START, androidx.media2.player.MediaPlayer2.MEDIA_INFO_DATA_SOURCE_END, androidx.media2.player.MediaPlayer2.MEDIA_INFO_DATA_SOURCE_LIST_END, androidx.media2.player.MediaPlayer2.MEDIA_INFO_DATA_SOURCE_REPEAT, androidx.media2.player.MediaPlayer2.MEDIA_INFO_PREPARED, androidx.media2.player.MediaPlayer2.MEDIA_INFO_VIDEO_TRACK_LAGGING, androidx.media2.player.MediaPlayer2.MEDIA_INFO_BUFFERING_START, androidx.media2.player.MediaPlayer2.MEDIA_INFO_BUFFERING_END, androidx.media2.player.MediaPlayer2.MEDIA_INFO_NETWORK_BANDWIDTH, androidx.media2.player.MediaPlayer2.MEDIA_INFO_BUFFERING_UPDATE, androidx.media2.player.MediaPlayer2.MEDIA_INFO_BAD_INTERLEAVING, androidx.media2.player.MediaPlayer2.MEDIA_INFO_NOT_SEEKABLE, androidx.media2.player.MediaPlayer2.MEDIA_INFO_METADATA_UPDATE, androidx.media2.player.MediaPlayer2.MEDIA_INFO_EXTERNAL_METADATA_UPDATE, androidx.media2.player.MediaPlayer2.MEDIA_INFO_AUDIO_NOT_PLAYING, androidx.media2.player.MediaPlayer2.MEDIA_INFO_VIDEO_NOT_PLAYING, androidx.media2.player.MediaPlayer2.MEDIA_INFO_UNSUPPORTED_SUBTITLE, androidx.media2.player.MediaPlayer2.MEDIA_INFO_SUBTITLE_TIMED_OUT}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer2.MediaInfo {
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer2.PLAYER_STATE_IDLE, androidx.media2.player.MediaPlayer2.PLAYER_STATE_PREPARED, androidx.media2.player.MediaPlayer2.PLAYER_STATE_PAUSED, androidx.media2.player.MediaPlayer2.PLAYER_STATE_PLAYING, androidx.media2.player.MediaPlayer2.PLAYER_STATE_ERROR}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer2.MediaPlayer2State {
}
public static final class MediaPlayer2.MetricsConstants {
field public static final String CODEC_AUDIO = "android.media.mediaplayer.audio.codec";
field public static final String CODEC_VIDEO = "android.media.mediaplayer.video.codec";
field public static final String DURATION = "android.media.mediaplayer.durationMs";
field public static final String ERRORS = "android.media.mediaplayer.err";
field public static final String ERROR_CODE = "android.media.mediaplayer.errcode";
field public static final String FRAMES = "android.media.mediaplayer.frames";
field public static final String FRAMES_DROPPED = "android.media.mediaplayer.dropped";
field public static final String HEIGHT = "android.media.mediaplayer.height";
field public static final String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime";
field public static final String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime";
field public static final String PLAYING = "android.media.mediaplayer.playingMs";
field public static final String WIDTH = "android.media.mediaplayer.width";
}
public static class MediaPlayer2.NoDrmSchemeException extends android.media.MediaDrmException {
ctor public MediaPlayer2.NoDrmSchemeException(String!);
}
public static interface MediaPlayer2.OnDrmConfigHelper {
method public void onDrmConfig(androidx.media2.player.MediaPlayer2!, androidx.media2.common.MediaItem!);
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer2.PREPARE_DRM_STATUS_SUCCESS, androidx.media2.player.MediaPlayer2.PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR, androidx.media2.player.MediaPlayer2.PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR, androidx.media2.player.MediaPlayer2.PREPARE_DRM_STATUS_PREPARATION_ERROR, androidx.media2.player.MediaPlayer2.PREPARE_DRM_STATUS_UNSUPPORTED_SCHEME, androidx.media2.player.MediaPlayer2.PREPARE_DRM_STATUS_RESOURCE_BUSY}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer2.PrepareDrmStatusCode {
}
@IntDef(flag=false, value={androidx.media2.player.MediaPlayer2.SEEK_PREVIOUS_SYNC, androidx.media2.player.MediaPlayer2.SEEK_NEXT_SYNC, androidx.media2.player.MediaPlayer2.SEEK_CLOSEST_SYNC, androidx.media2.player.MediaPlayer2.SEEK_CLOSEST}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaPlayer2.SeekMode {
}
public abstract static class MediaPlayer2.TrackInfo {
ctor public MediaPlayer2.TrackInfo();
method public abstract android.media.MediaFormat! getFormat();
method public abstract String! getLanguage();
method public abstract int getTrackType();
method public abstract 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
}
@RequiresApi(28) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class MediaPlayer2Impl extends androidx.media2.player.MediaPlayer2 {
ctor public MediaPlayer2Impl(android.content.Context!);
method public Object! attachAuxEffect(int);
method public boolean cancel(Object!);
method public void clearDrmEventCallback();
method public void clearEventCallback();
method public void clearPendingCommands();
method public void close();
method public Object! deselectTrack(int);
method public androidx.media.AudioAttributesCompat? getAudioAttributes();
method public int getAudioSessionId();
method public long getBufferedPosition();
method public androidx.media2.common.MediaItem? getCurrentMediaItem();
method public long getCurrentPosition();
method public androidx.media2.player.MediaPlayer2.DrmInfo! getDrmInfo();
method public android.media.MediaDrm.KeyRequest getDrmKeyRequest(byte[]?, byte[]?, String?, int, java.util.Map<java.lang.String!,java.lang.String!>?) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public String getDrmPropertyString(String) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public long getDuration();
method public android.os.PersistableBundle! getMetrics();
method public androidx.media2.player.PlaybackParams getPlaybackParams();
method public float getPlayerVolume();
method public int getSelectedTrack(int);
method @androidx.media2.player.MediaPlayer2.MediaPlayer2State public int getState();
method public androidx.media2.player.MediaTimestamp? getTimestamp();
method public java.util.List<androidx.media2.player.MediaPlayer2.TrackInfo!>! getTrackInfo();
method public int getVideoHeight();
method public int getVideoWidth();
method public Object! loopCurrent(boolean);
method public Object! notifyWhenCommandLabelReached(Object!);
method public Object! pause();
method public Object! play();
method public Object! prepare();
method public Object! prepareDrm(java.util.UUID);
method public byte[]! provideDrmKeyResponse(byte[]?, byte[]) throws android.media.DeniedByServerException, androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public void releaseDrm() throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public void reset();
method public void restoreDrmKeys(byte[]) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public Object! seekTo(long, @androidx.media2.player.MediaPlayer2.SeekMode int);
method public Object! selectTrack(int);
method public Object! setAudioAttributes(androidx.media.AudioAttributesCompat);
method public Object! setAudioSessionId(int);
method public Object! setAuxEffectSendLevel(float);
method public void setDrmEventCallback(java.util.concurrent.Executor, androidx.media2.player.MediaPlayer2.DrmEventCallback);
method public void setDrmPropertyString(String, String) throws androidx.media2.player.MediaPlayer2.NoDrmSchemeException;
method public void setEventCallback(java.util.concurrent.Executor, androidx.media2.player.MediaPlayer2.EventCallback);
method public Object! setMediaItem(androidx.media2.common.MediaItem);
method public Object! setNextMediaItem(androidx.media2.common.MediaItem);
method public Object! setNextMediaItems(java.util.List<androidx.media2.common.MediaItem!>);
method public void setOnDrmConfigHelper(androidx.media2.player.MediaPlayer2.OnDrmConfigHelper!);
method public Object! setPlaybackParams(androidx.media2.player.PlaybackParams);
method public Object! setPlayerVolume(float);
method public Object! setSurface(android.view.Surface!);
method public Object! skipToNext();
}
public static final class MediaPlayer2Impl.DrmInfoImpl extends androidx.media2.player.MediaPlayer2.DrmInfo {
method public java.util.Map<java.util.UUID!,byte[]!>! getPssh();
method public java.util.List<java.util.UUID!>! getSupportedSchemes();
}
public final class MediaTimestamp {
ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public MediaTimestamp(long, long, float);
method public long getAnchorMediaTimeUs();
method public long getAnchorSystemNanoTime();
method public float getMediaClockRate();
field public static final androidx.media2.player.MediaTimestamp TIMESTAMP_UNKNOWN;
}
public final class PlaybackParams {
method @androidx.media2.player.PlaybackParams.AudioFallbackMode public Integer? getAudioFallbackMode();
method public Float? getPitch();
method @RequiresApi(23) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.media.PlaybackParams! getPlaybackParams();
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
}
@IntDef({androidx.media2.player.PlaybackParams.AUDIO_FALLBACK_MODE_DEFAULT, androidx.media2.player.PlaybackParams.AUDIO_FALLBACK_MODE_MUTE, androidx.media2.player.PlaybackParams.AUDIO_FALLBACK_MODE_FAIL}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PlaybackParams.AudioFallbackMode {
}
public static final class PlaybackParams.Builder {
ctor public PlaybackParams.Builder();
ctor @RequiresApi(23) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public PlaybackParams.Builder(android.media.PlaybackParams!);
ctor public PlaybackParams.Builder(androidx.media2.player.PlaybackParams);
method public androidx.media2.player.PlaybackParams build();
method public androidx.media2.player.PlaybackParams.Builder setAudioFallbackMode(@androidx.media2.player.PlaybackParams.AudioFallbackMode int);
method public androidx.media2.player.PlaybackParams.Builder setPitch(@FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE, fromInclusive=false) float);
method public androidx.media2.player.PlaybackParams.Builder setSpeed(@FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE, fromInclusive=false) float);
}
public class TimedMetaData {
ctor @RequiresApi(23) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public TimedMetaData(android.media.TimedMetaData!);
ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public TimedMetaData(long, byte[]!);
method public byte[]! getMetaData();
method public long getTimestamp();
}
public final class VideoSize {
ctor public VideoSize(int, int);
method public int getHeight();
method public int getWidth();
}
}
package androidx.media2.player.common {
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class TrackInfoImpl extends androidx.media2.player.MediaPlayer2.TrackInfo {
ctor public TrackInfoImpl(int, android.media.MediaFormat!);
method public android.media.MediaFormat! getFormat();
method public String! getLanguage();
method public int getTrackType();
}
}
package androidx.media2.player.exoplayer {
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class DataSourceCallbackDataSource {
ctor public DataSourceCallbackDataSource(androidx.media2.common.DataSourceCallback!);
method public void close();
method public android.net.Uri! getUri();
method public long open(DataSpec) throws java.io.IOException;
method public int read(byte[]!, int, int) throws java.io.IOException;
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ExoPlayerMediaPlayer2Impl extends androidx.media2.player.MediaPlayer2 {
ctor public ExoPlayerMediaPlayer2Impl(android.content.Context);
method public Object! attachAuxEffect(int);
method public boolean cancel(Object!);
method public void clearDrmEventCallback();
method public void clearEventCallback();
method public void clearPendingCommands();
method public void close();
method public Object! deselectTrack(int);
method public androidx.media.AudioAttributesCompat! getAudioAttributes();
method public int getAudioSessionId();
method public long getBufferedPosition();
method public androidx.media2.common.MediaItem! getCurrentMediaItem();
method public long getCurrentPosition();
method public androidx.media2.player.MediaPlayer2.DrmInfo! getDrmInfo();
method public android.media.MediaDrm.KeyRequest getDrmKeyRequest(byte[]!, byte[]!, String!, int, java.util.Map<java.lang.String!,java.lang.String!>!);
method public String getDrmPropertyString(String);
method public long getDuration();
method @RequiresApi(21) public android.os.PersistableBundle! getMetrics();
method public androidx.media2.player.PlaybackParams getPlaybackParams();
method public float getPlayerVolume();
method public int getSelectedTrack(int);
method @androidx.media2.player.MediaPlayer2.MediaPlayer2State public int getState();
method public androidx.media2.player.MediaTimestamp! getTimestamp();
method public java.util.List<androidx.media2.player.MediaPlayer2.TrackInfo!>! getTrackInfo();
method public int getVideoHeight();
method public int getVideoWidth();
method public Object! loopCurrent(boolean);
method public Object! notifyWhenCommandLabelReached(Object);
method public void onBandwidthSample(androidx.media2.common.MediaItem!, int);
method public void onBufferingEnded(androidx.media2.common.MediaItem!);
method public void onBufferingStarted(androidx.media2.common.MediaItem!);
method public void onBufferingUpdate(androidx.media2.common.MediaItem!, int);
method public void onError(androidx.media2.common.MediaItem!, int);
method public void onLoop(androidx.media2.common.MediaItem!);
method public void onMediaItemEnded(androidx.media2.common.MediaItem!);
method public void onMediaItemStartedAsNext(androidx.media2.common.MediaItem!);
method public void onMediaTimeDiscontinuity(androidx.media2.common.MediaItem!, androidx.media2.player.MediaTimestamp!);
method public void onMetadataChanged(androidx.media2.common.MediaItem!);
method public void onPlaybackEnded(androidx.media2.common.MediaItem!);
method public void onPrepared(androidx.media2.common.MediaItem!);
method public void onSeekCompleted();
method public void onSubtitleData(androidx.media2.common.MediaItem!, int, androidx.media2.common.SubtitleData!);
method public void onTimedMetadata(androidx.media2.common.MediaItem!, androidx.media2.player.TimedMetaData!);
method public void onVideoRenderingStart(androidx.media2.common.MediaItem!);
method public void onVideoSizeChanged(androidx.media2.common.MediaItem!, int, int);
method public Object! pause();
method public Object! play();
method public Object! prepare();
method public Object! prepareDrm(java.util.UUID);
method public byte[]! provideDrmKeyResponse(byte[]?, byte[]);
method public void releaseDrm();
method public void reset();
method public void restoreDrmKeys(byte[]);
method public Object! seekTo(long, int);
method public Object! selectTrack(int);
method public Object! setAudioAttributes(androidx.media.AudioAttributesCompat);
method public Object! setAudioSessionId(int);
method public Object! setAuxEffectSendLevel(float);
method public void setDrmEventCallback(java.util.concurrent.Executor, androidx.media2.player.MediaPlayer2.DrmEventCallback);
method public void setDrmPropertyString(String, String);
method public void setEventCallback(java.util.concurrent.Executor, androidx.media2.player.MediaPlayer2.EventCallback);
method public Object! setMediaItem(androidx.media2.common.MediaItem);
method public Object! setNextMediaItem(androidx.media2.common.MediaItem);
method public Object! setNextMediaItems(java.util.List<androidx.media2.common.MediaItem!>);
method public void setOnDrmConfigHelper(androidx.media2.player.MediaPlayer2.OnDrmConfigHelper!);
method public Object! setPlaybackParams(androidx.media2.player.PlaybackParams);
method public Object! setPlayerVolume(float);
method public Object! setSurface(android.view.Surface!);
method public Object! skipToNext();
}
}
package androidx.media2.player.subtitle {
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class Cea708CaptionRenderer extends androidx.media2.player.subtitle.SubtitleController.Renderer {
ctor public Cea708CaptionRenderer(android.content.Context!);
method public androidx.media2.player.subtitle.SubtitleTrack! createTrack(android.media.MediaFormat!);
method public boolean supports(android.media.MediaFormat!);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ClosedCaptionRenderer extends androidx.media2.player.subtitle.SubtitleController.Renderer {
ctor public ClosedCaptionRenderer(android.content.Context!);
method public androidx.media2.player.subtitle.SubtitleTrack! createTrack(android.media.MediaFormat!);
method public boolean supports(android.media.MediaFormat!);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface MediaTimeProvider {
method public void cancelNotifications(androidx.media2.player.subtitle.MediaTimeProvider.OnMediaTimeListener!);
method public long getCurrentTimeUs(boolean, boolean) throws java.lang.IllegalStateException;
method public void notifyAt(long, androidx.media2.player.subtitle.MediaTimeProvider.OnMediaTimeListener!);
method public void scheduleUpdate(androidx.media2.player.subtitle.MediaTimeProvider.OnMediaTimeListener!);
field public static final long NO_TIME = -1L; // 0xffffffffffffffffL
}
public static interface MediaTimeProvider.OnMediaTimeListener {
method public void onSeek(long);
method public void onStop();
method public void onTimedEvent(long);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class SubtitleController {
ctor public SubtitleController(android.content.Context!);
ctor public SubtitleController(android.content.Context!, androidx.media2.player.subtitle.MediaTimeProvider!, androidx.media2.player.subtitle.SubtitleController.Listener!);
method public androidx.media2.player.subtitle.SubtitleTrack! addTrack(android.media.MediaFormat!);
method public androidx.media2.player.subtitle.SubtitleTrack! getDefaultTrack();
method public androidx.media2.player.subtitle.SubtitleTrack! getSelectedTrack();
method public androidx.media2.player.subtitle.SubtitleTrack![]! getTracks();
method public boolean hasRendererFor(android.media.MediaFormat!);
method public void hide();
method public void registerRenderer(androidx.media2.player.subtitle.SubtitleController.Renderer!);
method public void reset();
method public void selectDefaultTrack();
method public boolean selectTrack(androidx.media2.player.subtitle.SubtitleTrack!);
method public void setAnchor(androidx.media2.player.subtitle.SubtitleController.Anchor!);
method public void show();
}
public static interface SubtitleController.Anchor {
method public android.os.Looper! getSubtitleLooper();
method public void setSubtitleWidget(androidx.media2.player.subtitle.SubtitleTrack.RenderingWidget!);
}
public static interface SubtitleController.Listener {
method public void onSubtitleTrackSelected(androidx.media2.player.subtitle.SubtitleTrack!);
}
public abstract static class SubtitleController.Renderer {
ctor public SubtitleController.Renderer();
method public abstract androidx.media2.player.subtitle.SubtitleTrack! createTrack(android.media.MediaFormat!);
method public abstract boolean supports(android.media.MediaFormat!);
}
@RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class SubtitleTrack implements androidx.media2.player.subtitle.MediaTimeProvider.OnMediaTimeListener {
ctor public SubtitleTrack(android.media.MediaFormat!);
method protected boolean addCue(androidx.media2.player.subtitle.SubtitleTrack.Cue!);
method protected void clearActiveCues();
method protected void finishedRun(long);
method public final android.media.MediaFormat! getFormat();
method public abstract androidx.media2.player.subtitle.SubtitleTrack.RenderingWidget! getRenderingWidget();
method public int getTrackType();
method public void hide();
method public void onData(androidx.media2.common.SubtitleData!);
method protected abstract void onData(byte[]!, boolean, long);
method public void onSeek(long);
method public void onStop();
method public void onTimedEvent(long);
method protected void scheduleTimedEvents();
method public void setRunDiscardTimeMs(long, long);
method public void setTimeProvider(androidx.media2.player.subtitle.MediaTimeProvider!);
method public void show();
method protected void updateActiveCues(boolean, long);
method public abstract void updateView(java.util.ArrayList<androidx.media2.player.subtitle.SubtitleTrack.Cue!>!);
field public boolean DEBUG;
field protected android.os.Handler! mHandler;
field protected androidx.media2.player.subtitle.MediaTimeProvider! mTimeProvider;
field protected boolean mVisible;
}
public static class SubtitleTrack.Cue {
ctor public SubtitleTrack.Cue();
method public void onTime(long);
field public long mEndTimeMs;
field public long[]! mInnerTimesMs;
field public androidx.media2.player.subtitle.SubtitleTrack.Cue! mNextInRun;
field public long mRunID;
field public long mStartTimeMs;
}
public static interface SubtitleTrack.RenderingWidget {
method public void draw(android.graphics.Canvas!);
method public void onAttachedToWindow();
method public void onDetachedFromWindow();
method public void setOnChangedListener(androidx.media2.player.subtitle.SubtitleTrack.RenderingWidget.OnChangedListener!);
method public void setSize(int, int);
method public void setVisible(boolean);
}
public static interface SubtitleTrack.RenderingWidget.OnChangedListener {
method public void onChanged(androidx.media2.player.subtitle.SubtitleTrack.RenderingWidget!);
}
}