// Signature format: 2.
0
package [Link] {
public final class AdOverlayInfo {
field public static final int PURPOSE_CLOSE_AD = 2; // 0x2
field public static final int PURPOSE_CONTROLS = 1; // 0x1
field public static final int PURPOSE_NOT_VISIBLE = 4; // 0x4
field public static final int PURPOSE_OTHER = 3; // 0x3
field @[Link] public final int purpose;
field @Nullable public final String reasonDetail;
field public final [Link] view;
}
public static final class [Link] {
ctor public [Link]([Link],
@[Link] int);
method public [Link] build();
method public [Link]
setDetailedReason(@Nullable String);
}
@IntDef({[Link].PURPOSE_CONTROLS,
[Link].PURPOSE_CLOSE_AD,
[Link].PURPOSE_OTHER,
[Link].PURPOSE_NOT_VISIBLE})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
public interface AdViewProvider {
method public default [Link]<[Link]>
getAdOverlayInfos();
method @Nullable public [Link] getAdViewGroup();
}
public final class AudioAttributes {
method public [Link].AudioAttributesV21
getAudioAttributesV21();
field public static final [Link] DEFAULT;
field @[Link] public final int
allowedCapturePolicy;
field @[Link] public final int contentType;
field @[Link] public final int flags;
field @[Link] public final int
spatializationBehavior;
field @[Link] public final int usage;
}
public static final class AudioAttributes.AudioAttributesV21 {
field public final [Link] audioAttributes;
}
public static final class [Link] {
ctor public [Link]();
method public [Link] build();
method public [Link]
setAllowedCapturePolicy(@[Link] int);
method public [Link]
setContentType(@[Link] int);
method public [Link]
setFlags(@[Link] int);
method public [Link]
setSpatializationBehavior(@[Link] int);
method public [Link]
setUsage(@[Link] int);
}
public final class C {
field public static final int ALLOW_CAPTURE_BY_ALL = 1; // 0x1
field public static final int ALLOW_CAPTURE_BY_NONE = 3; // 0x3
field public static final int ALLOW_CAPTURE_BY_SYSTEM = 2; // 0x2
field public static final int AUDIO_CONTENT_TYPE_MOVIE = 3; // 0x3
field public static final int AUDIO_CONTENT_TYPE_MUSIC = 2; // 0x2
field public static final int AUDIO_CONTENT_TYPE_SONIFICATION = 4; // 0x4
field public static final int AUDIO_CONTENT_TYPE_SPEECH = 1; // 0x1
field public static final int AUDIO_CONTENT_TYPE_UNKNOWN = 0; // 0x0
field public static final [Link] CLEARKEY_UUID;
field public static final [Link] COMMON_PSSH_UUID;
field public static final int CONTENT_TYPE_DASH = 0; // 0x0
field public static final int CONTENT_TYPE_HLS = 2; // 0x2
field public static final int CONTENT_TYPE_OTHER = 4; // 0x4
field public static final int CONTENT_TYPE_RTSP = 3; // 0x3
field public static final int CONTENT_TYPE_SS = 1; // 0x1
field public static final int CRYPTO_TYPE_CUSTOM_BASE = 10000; // 0x2710
field public static final int CRYPTO_TYPE_FRAMEWORK = 2; // 0x2
field public static final int CRYPTO_TYPE_NONE = 0; // 0x0
field public static final int CRYPTO_TYPE_UNSUPPORTED = 1; // 0x1
field public static final long DEFAULT_MAX_SEEK_TO_PREVIOUS_POSITION_MS =
3000L; // 0xbb8L
field public static final long DEFAULT_SEEK_BACK_INCREMENT_MS = 5000L; //
0x1388L
field public static final long DEFAULT_SEEK_FORWARD_INCREMENT_MS = 15000L; //
0x3a98L
field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1
field public static final int INDEX_UNSET = -1; // 0xffffffff
field public static final String LANGUAGE_UNDETERMINED = "und";
field public static final int LENGTH_UNSET = -1; // 0xffffffff
field public static final [Link] PLAYREADY_UUID;
field public static final float RATE_UNSET = -3.4028235E38f;
field public static final int ROLE_FLAG_ALTERNATE = 2; // 0x2
field public static final int ROLE_FLAG_AUXILIARY = 32768; // 0x8000
field public static final int ROLE_FLAG_CAPTION = 64; // 0x40
field public static final int ROLE_FLAG_COMMENTARY = 8; // 0x8
field public static final int ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND = 1024; //
0x400
field public static final int ROLE_FLAG_DESCRIBES_VIDEO = 512; // 0x200
field public static final int ROLE_FLAG_DUB = 16; // 0x10
field public static final int ROLE_FLAG_EASY_TO_READ = 8192; // 0x2000
field public static final int ROLE_FLAG_EMERGENCY = 32; // 0x20
field public static final int ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY = 2048;
// 0x800
field public static final int ROLE_FLAG_MAIN = 1; // 0x1
field public static final int ROLE_FLAG_SIGN = 256; // 0x100
field public static final int ROLE_FLAG_SUBTITLE = 128; // 0x80
field public static final int ROLE_FLAG_SUPPLEMENTARY = 4; // 0x4
field public static final int ROLE_FLAG_TRANSCRIBES_DIALOG = 4096; // 0x1000
field public static final int ROLE_FLAG_TRICK_PLAY = 16384; // 0x4000
field public static final int SELECTION_FLAG_AUTOSELECT = 4; // 0x4
field public static final int SELECTION_FLAG_DEFAULT = 1; // 0x1
field public static final int SELECTION_FLAG_FORCED = 2; // 0x2
field public static final int SPATIALIZATION_BEHAVIOR_AUTO = 0; // 0x0
field public static final int SPATIALIZATION_BEHAVIOR_NEVER = 1; // 0x1
field public static final long TIME_END_OF_SOURCE = -9223372036854775808L; //
0x8000000000000000L
field public static final long TIME_UNSET = -9223372036854775807L; //
0x8000000000000001L
field public static final int TRACK_TYPE_AUDIO = 1; // 0x1
field public static final int TRACK_TYPE_CAMERA_MOTION = 6; // 0x6
field public static final int TRACK_TYPE_CUSTOM_BASE = 10000; // 0x2710
field public static final int TRACK_TYPE_DEFAULT = 0; // 0x0
field public static final int TRACK_TYPE_IMAGE = 4; // 0x4
field public static final int TRACK_TYPE_METADATA = 5; // 0x5
field public static final int TRACK_TYPE_NONE = -2; // 0xfffffffe
field public static final int TRACK_TYPE_TEXT = 3; // 0x3
field public static final int TRACK_TYPE_UNKNOWN = -1; // 0xffffffff
field public static final int TRACK_TYPE_VIDEO = 2; // 0x2
field public static final int USAGE_ALARM = 4; // 0x4
field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb
field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc
field public static final int USAGE_ASSISTANCE_SONIFICATION = 13; // 0xd
field public static final int USAGE_ASSISTANT = 16; // 0x10
field public static final int USAGE_GAME = 14; // 0xe
field public static final int USAGE_MEDIA = 1; // 0x1
field public static final int USAGE_NOTIFICATION = 5; // 0x5
field public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9; //
0x9
field public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8; //
0x8
field public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7; //
0x7
field public static final int USAGE_NOTIFICATION_EVENT = 10; // 0xa
field public static final int USAGE_NOTIFICATION_RINGTONE = 6; // 0x6
field public static final int USAGE_UNKNOWN = 0; // 0x0
field public static final int USAGE_VOICE_COMMUNICATION = 2; // 0x2
field public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3; // 0x3
field public static final [Link] UUID_NIL;
field public static final int VOLUME_FLAG_ALLOW_RINGER_MODES = 2; // 0x2
field public static final int VOLUME_FLAG_PLAY_SOUND = 4; // 0x4
field public static final int VOLUME_FLAG_REMOVE_SOUND_AND_VIBRATE = 8; // 0x8
field public static final int VOLUME_FLAG_SHOW_UI = 1; // 0x1
field public static final int VOLUME_FLAG_VIBRATE = 16; // 0x10
field public static final int WAKE_MODE_LOCAL = 1; // 0x1
field public static final int WAKE_MODE_NETWORK = 2; // 0x2
field public static final int WAKE_MODE_NONE = 0; // 0x0
field public static final [Link] WIDEVINE_UUID;
}
@IntDef({[Link].C.ALLOW_CAPTURE_BY_ALL,
[Link].C.ALLOW_CAPTURE_BY_NONE,
[Link].C.ALLOW_CAPTURE_BY_SYSTEM}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].C.AUDIO_CONTENT_TYPE_MOVIE,
[Link].C.AUDIO_CONTENT_TYPE_MUSIC,
[Link].C.AUDIO_CONTENT_TYPE_SONIFICATION,
[Link].C.AUDIO_CONTENT_TYPE_SPEECH,
[Link].C.AUDIO_CONTENT_TYPE_UNKNOWN})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef(flag=true, value={[Link].C.FLAG_AUDIBILITY_ENFORCED})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link] {
}
@IntDef({[Link].C.USAGE_ALARM,
[Link].C.USAGE_ASSISTANCE_ACCESSIBILITY,
[Link].C.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE,
[Link].C.USAGE_ASSISTANCE_SONIFICATION,
[Link].C.USAGE_ASSISTANT, [Link].C.USAGE_GAME,
[Link].C.USAGE_MEDIA, [Link].C.USAGE_NOTIFICATION,
[Link].C.USAGE_NOTIFICATION_COMMUNICATION_DELAYED,
[Link].C.USAGE_NOTIFICATION_COMMUNICATION_INSTANT,
[Link].C.USAGE_NOTIFICATION_COMMUNICATION_REQUEST,
[Link].C.USAGE_NOTIFICATION_EVENT,
[Link].C.USAGE_NOTIFICATION_RINGTONE,
[Link].C.USAGE_UNKNOWN,
[Link].C.USAGE_VOICE_COMMUNICATION,
[Link].C.USAGE_VOICE_COMMUNICATION_SIGNALLING})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link] {
}
@IntDef({[Link].C.CONTENT_TYPE_DASH,
[Link].C.CONTENT_TYPE_SS,
[Link].C.CONTENT_TYPE_HLS,
[Link].C.CONTENT_TYPE_RTSP,
[Link].C.CONTENT_TYPE_OTHER}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link]
{
}
@IntDef(open=true, value={[Link].C.CRYPTO_TYPE_UNSUPPORTED,
[Link].C.CRYPTO_TYPE_NONE,
[Link].C.CRYPTO_TYPE_FRAMEWORK}) @[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
@IntDef(flag=true, value={[Link].C.ROLE_FLAG_MAIN,
[Link].C.ROLE_FLAG_ALTERNATE,
[Link].C.ROLE_FLAG_SUPPLEMENTARY,
[Link].C.ROLE_FLAG_COMMENTARY,
[Link].C.ROLE_FLAG_DUB,
[Link].C.ROLE_FLAG_EMERGENCY,
[Link].C.ROLE_FLAG_CAPTION,
[Link].C.ROLE_FLAG_SUBTITLE,
[Link].C.ROLE_FLAG_SIGN,
[Link].C.ROLE_FLAG_DESCRIBES_VIDEO,
[Link].C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND,
[Link].C.ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY,
[Link].C.ROLE_FLAG_TRANSCRIBES_DIALOG,
[Link].C.ROLE_FLAG_EASY_TO_READ,
[Link].C.ROLE_FLAG_TRICK_PLAY,
[Link].C.ROLE_FLAG_AUXILIARY}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link] {
}
@IntDef(flag=true, value={[Link].C.SELECTION_FLAG_DEFAULT,
[Link].C.SELECTION_FLAG_FORCED,
[Link].C.SELECTION_FLAG_AUTOSELECT})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].C.SPATIALIZATION_BEHAVIOR_AUTO,
[Link].C.SPATIALIZATION_BEHAVIOR_NEVER})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
@IntDef(open=true, value={[Link].C.TRACK_TYPE_UNKNOWN,
[Link].C.TRACK_TYPE_DEFAULT,
[Link].C.TRACK_TYPE_AUDIO,
[Link].C.TRACK_TYPE_VIDEO,
[Link].C.TRACK_TYPE_TEXT,
[Link].C.TRACK_TYPE_IMAGE,
[Link].C.TRACK_TYPE_METADATA,
[Link].C.TRACK_TYPE_CAMERA_MOTION,
[Link].C.TRACK_TYPE_NONE}) @[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
@IntDef(flag=true, value={[Link].C.VOLUME_FLAG_SHOW_UI,
[Link].C.VOLUME_FLAG_ALLOW_RINGER_MODES,
[Link].C.VOLUME_FLAG_PLAY_SOUND,
[Link].C.VOLUME_FLAG_REMOVE_SOUND_AND_VIBRATE,
[Link].C.VOLUME_FLAG_VIBRATE}) @[Link]
@[Link]([Link])
@[Link]({[Link].TYPE_USE}) public
static @interface [Link] {
}
@IntDef({[Link].C.WAKE_MODE_NONE,
[Link].C.WAKE_MODE_LOCAL,
[Link].C.WAKE_MODE_NETWORK}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link] {
}
public final class DeviceInfo {
field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
field public static final [Link] UNKNOWN;
field @IntRange(from=0) public final int maxVolume;
field @IntRange(from=0) public final int minVolume;
field @[Link] public final int
playbackType;
field @Nullable public final String routingControllerId;
}
public static final class [Link] {
ctor public [Link](@[Link]
int);
method public [Link] build();
method public [Link]
setMaxVolume(@IntRange(from=0) int);
method public [Link]
setMinVolume(@IntRange(from=0) int);
method public [Link]
setRoutingControllerId(@Nullable String);
}
@IntDef({[Link].PLAYBACK_TYPE_LOCAL,
[Link].PLAYBACK_TYPE_REMOTE})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
public interface ErrorMessageProvider<T extends [Link]> {
method public [Link]<[Link],[Link]>
getErrorMessage(T);
}
public final class Format {
field public static final int NO_VALUE = -1; // 0xffffffff
field public final int channelCount;
field @Nullable public final String codecs;
field @Nullable public final String containerMimeType;
field public final float frameRate;
field public final int height;
field @Nullable public final String id;
field @Nullable public final String label;
field @Nullable public final String language;
field public final float pixelWidthHeightRatio;
field @[Link] public final int roleFlags;
field @Nullable public final String sampleMimeType;
field public final int sampleRate;
field @[Link] public final int selectionFlags;
field public final int width;
}
public final class HeartRating extends [Link] {
ctor public HeartRating();
ctor public HeartRating(boolean);
method public boolean isHeart();
method public boolean isRated();
}
public final class MediaItem {
method public [Link] buildUpon();
method public static [Link] fromUri([Link]);
method public static [Link] fromUri(String);
field public static final String DEFAULT_MEDIA_ID = "";
field public static final [Link] EMPTY;
field public final [Link]
clippingConfiguration;
field public final [Link]
liveConfiguration;
field @Nullable public final
[Link] localConfiguration;
field public final String mediaId;
field public final [Link] mediaMetadata;
field public final [Link]
requestMetadata;
}
public static final class [Link] {
method public [Link]
buildUpon();
field public final [Link] adTagUri;
field @Nullable public final Object adsId;
}
public static final class [Link] {
ctor public [Link]([Link]);
method public [Link] build();
method public [Link]
setAdTagUri([Link]);
method public [Link]
setAdsId(@Nullable Object);
}
public static final class [Link] {
ctor public [Link]();
method public [Link] build();
method public [Link]
setAdsConfiguration(@Nullable [Link]);
method public [Link]
setClippingConfiguration([Link]);
method public [Link]
setDrmConfiguration(@Nullable [Link]);
method public [Link]
setLiveConfiguration([Link]);
method public [Link] setMediaId(String);
method public [Link]
setMediaMetadata([Link]);
method public [Link] setMimeType(@Nullable
String);
method public [Link]
setRequestMetadata([Link]);
method public [Link]
setSubtitleConfigurations([Link]<[Link]
onfiguration>);
method public [Link] setTag(@Nullable
Object);
method public [Link] setUri(@Nullable
[Link]);
method public [Link] setUri(@Nullable
String);
}
public static class [Link] {
method public [Link]
buildUpon();
field public static final
[Link] UNSET;
field public final long endPositionMs;
field public final boolean relativeToDefaultPosition;
field public final boolean relativeToLiveWindow;
field @IntRange(from=0) public final long startPositionMs;
field public final boolean startsAtKeyFrame;
}
public static final class [Link] {
ctor public [Link]();
method public [Link] build();
method public [Link]
setEndPositionMs(long);
method public [Link]
setRelativeToDefaultPosition(boolean);
method public [Link]
setRelativeToLiveWindow(boolean);
method public [Link]
setStartPositionMs(@IntRange(from=0) long);
method public [Link]
setStartsAtKeyFrame(boolean);
}
public static final class [Link] {
method public [Link]
buildUpon();
method @Nullable public byte[] getKeySetId();
field public final boolean forceDefaultLicenseUri;
field public final [Link]<[Link]>
forcedSessionTrackTypes;
field public final
[Link]<[Link],[Link]>
licenseRequestHeaders;
field @Nullable public final [Link] licenseUri;
field public final boolean multiSession;
field public final boolean playClearContentWithoutKey;
field public final [Link] scheme;
}
public static final class [Link] {
ctor public [Link]([Link]);
method public [Link] build();
method public [Link]
setForceDefaultLicenseUri(boolean);
method public [Link]
setForceSessionsForAudioAndVideoTracks(boolean);
method public [Link]
setForcedSessionTrackTypes([Link]<[Link]>);
method public [Link]
setKeySetId(@Nullable byte[]);
method public [Link]
setLicenseRequestHeaders([Link]<[Link],[Link]>);
method public [Link]
setLicenseUri(@Nullable [Link]);
method public [Link]
setLicenseUri(@Nullable String);
method public [Link]
setMultiSession(boolean);
method public [Link]
setPlayClearContentWithoutKey(boolean);
method public [Link]
setScheme([Link]);
}
public static final class [Link] {
method public [Link]
buildUpon();
field public static final [Link]
UNSET;
field public final long maxOffsetMs;
field public final float maxPlaybackSpeed;
field public final long minOffsetMs;
field public final float minPlaybackSpeed;
field public final long targetOffsetMs;
}
public static final class [Link] {
ctor public [Link]();
method public [Link] build();
method public [Link]
setMaxOffsetMs(long);
method public [Link]
setMaxPlaybackSpeed(float);
method public [Link]
setMinOffsetMs(long);
method public [Link]
setMinPlaybackSpeed(float);
method public [Link]
setTargetOffsetMs(long);
}
public static final class [Link] {
field @Nullable public final [Link]
adsConfiguration;
field @Nullable public final [Link]
drmConfiguration;
field @Nullable public final String mimeType;
field public final
[Link]<[Link]
nfiguration> subtitleConfigurations;
field @Nullable public final Object tag;
field public final [Link] uri;
}
public static final class [Link] {
method public [Link]
buildUpon();
field public static final [Link]
EMPTY;
field @Nullable public final [Link] extras;
field @Nullable public final [Link] mediaUri;
field @Nullable public final String searchQuery;
}
public static final class [Link] {
ctor public [Link]();
method public [Link] build();
method public [Link]
setExtras(@Nullable [Link]);
method public [Link]
setMediaUri(@Nullable [Link]);
method public [Link]
setSearchQuery(@Nullable String);
}
public static class [Link] {
method public [Link]
buildUpon();
field @Nullable public final String id;
field @Nullable public final String label;
field @Nullable public final String language;
field @Nullable public final String mimeType;
field @[Link] public final int roleFlags;
field @[Link] public final int selectionFlags;
field public final [Link] uri;
}
public static final class [Link] {
ctor public [Link]([Link]);
method public [Link] build();
method public [Link]
setId(@Nullable String);
method public [Link]
setLabel(@Nullable String);
method public [Link]
setLanguage(@Nullable String);
method public [Link]
setMimeType(@Nullable String);
method public [Link]
setRoleFlags(@[Link] int);
method public [Link]
setSelectionFlags(@[Link] int);
method public [Link]
setUri([Link]);
}
public final class MediaMetadata {
method public [Link] buildUpon();
field public static final [Link] EMPTY;
field @Deprecated public static final int FOLDER_TYPE_ALBUMS = 2; // 0x2
field @Deprecated public static final int FOLDER_TYPE_ARTISTS = 3; // 0x3
field @Deprecated public static final int FOLDER_TYPE_GENRES = 4; // 0x4
field @Deprecated public static final int FOLDER_TYPE_MIXED = 0; // 0x0
field @Deprecated public static final int FOLDER_TYPE_NONE = -1; // 0xffffffff
field @Deprecated public static final int FOLDER_TYPE_PLAYLISTS = 5; // 0x5
field @Deprecated public static final int FOLDER_TYPE_TITLES = 1; // 0x1
field @Deprecated public static final int FOLDER_TYPE_YEARS = 6; // 0x6
field public static final int MEDIA_TYPE_ALBUM = 10; // 0xa
field public static final int MEDIA_TYPE_ARTIST = 11; // 0xb
field public static final int MEDIA_TYPE_AUDIO_BOOK = 15; // 0xf
field public static final int MEDIA_TYPE_AUDIO_BOOK_CHAPTER = 2; // 0x2
field public static final int MEDIA_TYPE_FOLDER_ALBUMS = 21; // 0x15
field public static final int MEDIA_TYPE_FOLDER_ARTISTS = 22; // 0x16
field public static final int MEDIA_TYPE_FOLDER_AUDIO_BOOKS = 26; // 0x1a
field public static final int MEDIA_TYPE_FOLDER_GENRES = 23; // 0x17
field public static final int MEDIA_TYPE_FOLDER_MIXED = 20; // 0x14
field public static final int MEDIA_TYPE_FOLDER_MOVIES = 35; // 0x23
field public static final int MEDIA_TYPE_FOLDER_NEWS = 32; // 0x20
field public static final int MEDIA_TYPE_FOLDER_PLAYLISTS = 24; // 0x18
field public static final int MEDIA_TYPE_FOLDER_PODCASTS = 27; // 0x1b
field public static final int MEDIA_TYPE_FOLDER_RADIO_STATIONS = 31; // 0x1f
field public static final int MEDIA_TYPE_FOLDER_TRAILERS = 34; // 0x22
field public static final int MEDIA_TYPE_FOLDER_TV_CHANNELS = 28; // 0x1c
field public static final int MEDIA_TYPE_FOLDER_TV_SERIES = 29; // 0x1d
field public static final int MEDIA_TYPE_FOLDER_TV_SHOWS = 30; // 0x1e
field public static final int MEDIA_TYPE_FOLDER_VIDEOS = 33; // 0x21
field public static final int MEDIA_TYPE_FOLDER_YEARS = 25; // 0x19
field public static final int MEDIA_TYPE_GENRE = 12; // 0xc
field public static final int MEDIA_TYPE_MIXED = 0; // 0x0
field public static final int MEDIA_TYPE_MOVIE = 8; // 0x8
field public static final int MEDIA_TYPE_MUSIC = 1; // 0x1
field public static final int MEDIA_TYPE_NEWS = 5; // 0x5
field public static final int MEDIA_TYPE_PLAYLIST = 13; // 0xd
field public static final int MEDIA_TYPE_PODCAST = 16; // 0x10
field public static final int MEDIA_TYPE_PODCAST_EPISODE = 3; // 0x3
field public static final int MEDIA_TYPE_RADIO_STATION = 4; // 0x4
field public static final int MEDIA_TYPE_TRAILER = 7; // 0x7
field public static final int MEDIA_TYPE_TV_CHANNEL = 17; // 0x11
field public static final int MEDIA_TYPE_TV_SEASON = 19; // 0x13
field public static final int MEDIA_TYPE_TV_SERIES = 18; // 0x12
field public static final int MEDIA_TYPE_TV_SHOW = 9; // 0x9
field public static final int MEDIA_TYPE_VIDEO = 6; // 0x6
field public static final int MEDIA_TYPE_YEAR = 14; // 0xe
field public static final int PICTURE_TYPE_ARTIST_PERFORMER = 8; // 0x8
field public static final int PICTURE_TYPE_A_BRIGHT_COLORED_FISH = 17; // 0x11
field public static final int PICTURE_TYPE_BACK_COVER = 4; // 0x4
field public static final int PICTURE_TYPE_BAND_ARTIST_LOGO = 19; // 0x13
field public static final int PICTURE_TYPE_BAND_ORCHESTRA = 10; // 0xa
field public static final int PICTURE_TYPE_COMPOSER = 11; // 0xb
field public static final int PICTURE_TYPE_CONDUCTOR = 9; // 0x9
field public static final int PICTURE_TYPE_DURING_PERFORMANCE = 15; // 0xf
field public static final int PICTURE_TYPE_DURING_RECORDING = 14; // 0xe
field public static final int PICTURE_TYPE_FILE_ICON = 1; // 0x1
field public static final int PICTURE_TYPE_FILE_ICON_OTHER = 2; // 0x2
field public static final int PICTURE_TYPE_FRONT_COVER = 3; // 0x3
field public static final int PICTURE_TYPE_ILLUSTRATION = 18; // 0x12
field public static final int PICTURE_TYPE_LEAD_ARTIST_PERFORMER = 7; // 0x7
field public static final int PICTURE_TYPE_LEAFLET_PAGE = 5; // 0x5
field public static final int PICTURE_TYPE_LYRICIST = 12; // 0xc
field public static final int PICTURE_TYPE_MEDIA = 6; // 0x6
field public static final int PICTURE_TYPE_MOVIE_VIDEO_SCREEN_CAPTURE = 16; //
0x10
field public static final int PICTURE_TYPE_OTHER = 0; // 0x0
field public static final int PICTURE_TYPE_PUBLISHER_STUDIO_LOGO = 20; // 0x14
field public static final int PICTURE_TYPE_RECORDING_LOCATION = 13; // 0xd
field @Nullable public final CharSequence albumArtist;
field @Nullable public final CharSequence albumTitle;
field @Nullable public final CharSequence artist;
field @Nullable public final byte[] artworkData;
field @Nullable @[Link] public final
Integer artworkDataType;
field @Nullable public final [Link] artworkUri;
field @Nullable public final CharSequence compilation;
field @Nullable public final CharSequence composer;
field @Nullable public final CharSequence conductor;
field @Nullable public final CharSequence description;
field @Nullable public final Integer discNumber;
field @Nullable public final CharSequence displayTitle;
field @Nullable public final [Link] extras;
field @Deprecated @Nullable @[Link]
public final Integer folderType;
field @Nullable public final CharSequence genre;
field @Nullable public final Boolean isBrowsable;
field @Nullable public final Boolean isPlayable;
field @Nullable @[Link] public final
Integer mediaType;
field @Nullable public final [Link] overallRating;
field @Nullable public final Integer recordingDay;
field @Nullable public final Integer recordingMonth;
field @Nullable public final Integer recordingYear;
field @Nullable public final Integer releaseDay;
field @Nullable public final Integer releaseMonth;
field @Nullable public final Integer releaseYear;
field @Nullable public final CharSequence station;
field @Nullable public final CharSequence subtitle;
field @Nullable public final CharSequence title;
field @Nullable public final Integer totalDiscCount;
field @Nullable public final Integer totalTrackCount;
field @Nullable public final Integer trackNumber;
field @Nullable public final [Link] userRating;
field @Nullable public final CharSequence writer;
}
public static final class [Link] {
ctor public [Link]();
method public [Link] build();
method public [Link]
maybeSetArtworkData(byte[], @[Link] int);
method public [Link]
setAlbumArtist(@Nullable CharSequence);
method public [Link]
setAlbumTitle(@Nullable CharSequence);
method public [Link] setArtist(@Nullable
CharSequence);
method public [Link]
setArtworkData(@Nullable byte[], @Nullable
@[Link] Integer);
method public [Link]
setArtworkUri(@Nullable [Link]);
method public [Link]
setCompilation(@Nullable CharSequence);
method public [Link]
setComposer(@Nullable CharSequence);
method public [Link]
setConductor(@Nullable CharSequence);
method public [Link]
setDescription(@Nullable CharSequence);
method public [Link]
setDiscNumber(@Nullable Integer);
method public [Link]
setDisplayTitle(@Nullable CharSequence);
method public [Link] setExtras(@Nullable
[Link]);
method @Deprecated public [Link]
setFolderType(@Nullable @[Link] Integer);
method public [Link] setGenre(@Nullable
CharSequence);
method public [Link]
setIsBrowsable(@Nullable Boolean);
method public [Link]
setIsPlayable(@Nullable Boolean);
method public [Link]
setMediaType(@Nullable @[Link] Integer);
method public [Link]
setOverallRating(@Nullable [Link]);
method public [Link]
setRecordingDay(@IntRange(from=1, to=31) @Nullable Integer);
method public [Link]
setRecordingMonth(@IntRange(from=1, to=12) @Nullable Integer);
method public [Link]
setRecordingYear(@Nullable Integer);
method public [Link]
setReleaseDay(@IntRange(from=1, to=31) @Nullable Integer);
method public [Link]
setReleaseMonth(@IntRange(from=1, to=12) @Nullable Integer);
method public [Link]
setReleaseYear(@Nullable Integer);
method public [Link] setStation(@Nullable
CharSequence);
method public [Link]
setSubtitle(@Nullable CharSequence);
method public [Link] setTitle(@Nullable
CharSequence);
method public [Link]
setTotalDiscCount(@Nullable Integer);
method public [Link]
setTotalTrackCount(@Nullable Integer);
method public [Link]
setTrackNumber(@Nullable Integer);
method public [Link]
setUserRating(@Nullable [Link]);
method public [Link] setWriter(@Nullable
CharSequence);
}
@Deprecated @IntDef({[Link].FOLDER_TYPE_NONE,
[Link].FOLDER_TYPE_MIXED,
[Link].FOLDER_TYPE_TITLES,
[Link].FOLDER_TYPE_ALBUMS,
[Link].FOLDER_TYPE_ARTISTS,
[Link].FOLDER_TYPE_GENRES,
[Link].FOLDER_TYPE_PLAYLISTS,
[Link].FOLDER_TYPE_YEARS})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].MEDIA_TYPE_MIXED,
[Link].MEDIA_TYPE_MUSIC,
[Link].MEDIA_TYPE_AUDIO_BOOK_CHAPTER,
[Link].MEDIA_TYPE_PODCAST_EPISODE,
[Link].MEDIA_TYPE_RADIO_STATION,
[Link].MEDIA_TYPE_NEWS,
[Link].MEDIA_TYPE_VIDEO,
[Link].MEDIA_TYPE_TRAILER,
[Link].MEDIA_TYPE_MOVIE,
[Link].MEDIA_TYPE_TV_SHOW,
[Link].MEDIA_TYPE_ALBUM,
[Link].MEDIA_TYPE_ARTIST,
[Link].MEDIA_TYPE_GENRE,
[Link].MEDIA_TYPE_PLAYLIST,
[Link].MEDIA_TYPE_YEAR,
[Link].MEDIA_TYPE_AUDIO_BOOK,
[Link].MEDIA_TYPE_PODCAST,
[Link].MEDIA_TYPE_TV_CHANNEL,
[Link].MEDIA_TYPE_TV_SERIES,
[Link].MEDIA_TYPE_TV_SEASON,
[Link].MEDIA_TYPE_FOLDER_MIXED,
[Link].MEDIA_TYPE_FOLDER_ALBUMS,
[Link].MEDIA_TYPE_FOLDER_ARTISTS,
[Link].MEDIA_TYPE_FOLDER_GENRES,
[Link].MEDIA_TYPE_FOLDER_PLAYLISTS,
[Link].MEDIA_TYPE_FOLDER_YEARS,
[Link].MEDIA_TYPE_FOLDER_AUDIO_BOOKS,
[Link].MEDIA_TYPE_FOLDER_PODCASTS,
[Link].MEDIA_TYPE_FOLDER_TV_CHANNELS,
[Link].MEDIA_TYPE_FOLDER_TV_SERIES,
[Link].MEDIA_TYPE_FOLDER_TV_SHOWS,
[Link].MEDIA_TYPE_FOLDER_RADIO_STATIONS,
[Link].MEDIA_TYPE_FOLDER_NEWS,
[Link].MEDIA_TYPE_FOLDER_VIDEOS,
[Link].MEDIA_TYPE_FOLDER_TRAILERS,
[Link].MEDIA_TYPE_FOLDER_MOVIES})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
@IntDef({[Link].PICTURE_TYPE_OTHER,
[Link].PICTURE_TYPE_FILE_ICON,
[Link].PICTURE_TYPE_FILE_ICON_OTHER,
[Link].PICTURE_TYPE_FRONT_COVER,
[Link].PICTURE_TYPE_BACK_COVER,
[Link].PICTURE_TYPE_LEAFLET_PAGE,
[Link].PICTURE_TYPE_MEDIA,
[Link].PICTURE_TYPE_LEAD_ARTIST_PERFORMER,
[Link].PICTURE_TYPE_ARTIST_PERFORMER,
[Link].PICTURE_TYPE_CONDUCTOR,
[Link].PICTURE_TYPE_BAND_ORCHESTRA,
[Link].PICTURE_TYPE_COMPOSER,
[Link].PICTURE_TYPE_LYRICIST,
[Link].PICTURE_TYPE_RECORDING_LOCATION,
[Link].PICTURE_TYPE_DURING_RECORDING,
[Link].PICTURE_TYPE_DURING_PERFORMANCE,
[Link].PICTURE_TYPE_MOVIE_VIDEO_SCREEN_CAPTURE,
[Link].PICTURE_TYPE_A_BRIGHT_COLORED_FISH,
[Link].PICTURE_TYPE_ILLUSTRATION,
[Link].PICTURE_TYPE_BAND_ARTIST_LOGO,
[Link].PICTURE_TYPE_PUBLISHER_STUDIO_LOGO})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
public final class MimeTypes {
field public static final String APPLICATION_AIT = "application/[Link]";
field public static final String APPLICATION_CEA608 = "application/cea-608";
field public static final String APPLICATION_CEA708 = "application/cea-708";
field public static final String APPLICATION_DVBSUBS = "application/dvbsubs";
field public static final String APPLICATION_ID3 = "application/id3";
field public static final String APPLICATION_M3U8 = "application/x-mpegURL";
field public static final String APPLICATION_MATROSKA = "application/x-
matroska";
field public static final String APPLICATION_MP4 = "application/mp4";
field public static final String APPLICATION_MP4CEA608 = "application/x-mp4-
cea-608";
field public static final String APPLICATION_MP4VTT = "application/x-mp4-vtt";
field public static final String APPLICATION_MPD = "application/dash+xml";
field public static final String APPLICATION_PGS = "application/pgs";
field @Deprecated public static final String APPLICATION_RAWCC =
"application/x-rawcc";
field public static final String APPLICATION_RTSP = "application/x-rtsp";
field public static final String APPLICATION_SDP = "application/sdp";
field public static final String APPLICATION_SS = "application/[Link]-
sstr+xml";
field public static final String APPLICATION_SUBRIP = "application/x-subrip";
field public static final String APPLICATION_TTML = "application/ttml+xml";
field public static final String APPLICATION_TX3G = "application/x-quicktime-
tx3g";
field public static final String APPLICATION_VOBSUB = "application/vobsub";
field public static final String APPLICATION_WEBM = "application/webm";
field public static final String AUDIO_AAC = "audio/mp4a-latm";
field public static final String AUDIO_AC3 = "audio/ac3";
field public static final String AUDIO_AC4 = "audio/ac4";
field public static final String AUDIO_ALAC = "audio/alac";
field public static final String AUDIO_ALAW = "audio/g711-alaw";
field public static final String AUDIO_AMR = "audio/amr";
field public static final String AUDIO_AMR_NB = "audio/3gpp";
field public static final String AUDIO_AMR_WB = "audio/amr-wb";
field public static final String AUDIO_DTS = "audio/[Link]";
field public static final String AUDIO_DTS_EXPRESS =
"audio/[Link];profile=lbr";
field public static final String AUDIO_DTS_HD = "audio/[Link]";
field public static final String AUDIO_E_AC3 = "audio/eac3";
field public static final String AUDIO_E_AC3_JOC = "audio/eac3-joc";
field public static final String AUDIO_FLAC = "audio/flac";
field public static final String AUDIO_MIDI = "audio/midi";
field public static final String AUDIO_MLAW = "audio/g711-mlaw";
field public static final String AUDIO_MP4 = "audio/mp4";
field public static final String AUDIO_MPEG = "audio/mpeg";
field public static final String AUDIO_MPEGH_MHA1 = "audio/mha1";
field public static final String AUDIO_MPEGH_MHM1 = "audio/mhm1";
field public static final String AUDIO_MPEG_L1 = "audio/mpeg-L1";
field public static final String AUDIO_MPEG_L2 = "audio/mpeg-L2";
field public static final String AUDIO_MSGSM = "audio/gsm";
field public static final String AUDIO_OGG = "audio/ogg";
field public static final String AUDIO_OPUS = "audio/opus";
field public static final String AUDIO_RAW = "audio/raw";
field public static final String AUDIO_TRUEHD = "audio/true-hd";
field public static final String AUDIO_VORBIS = "audio/vorbis";
field public static final String AUDIO_WAV = "audio/wav";
field public static final String AUDIO_WEBM = "audio/webm";
field public static final String IMAGE_JPEG = "image/jpeg";
field public static final String TEXT_SSA = "text/x-ssa";
field public static final String TEXT_VTT = "text/vtt";
field public static final String VIDEO_AV1 = "video/av01";
field public static final String VIDEO_AVI = "video/x-msvideo";
field public static final String VIDEO_DIVX = "video/divx";
field public static final String VIDEO_DOLBY_VISION = "video/dolby-vision";
field public static final String VIDEO_H263 = "video/3gpp";
field public static final String VIDEO_H264 = "video/avc";
field public static final String VIDEO_H265 = "video/hevc";
field public static final String VIDEO_MJPEG = "video/mjpeg";
field public static final String VIDEO_MP2T = "video/mp2t";
field public static final String VIDEO_MP4 = "video/mp4";
field public static final String VIDEO_MP42 = "video/mp42";
field public static final String VIDEO_MP43 = "video/mp43";
field public static final String VIDEO_MP4V = "video/mp4v-es";
field public static final String VIDEO_MPEG = "video/mpeg";
field public static final String VIDEO_MPEG2 = "video/mpeg2";
field public static final String VIDEO_OGG = "video/ogg";
field public static final String VIDEO_PS = "video/mp2p";
field public static final String VIDEO_VC1 = "video/wvc1";
field public static final String VIDEO_WEBM = "video/webm";
}
public final class PercentageRating extends [Link] {
ctor public PercentageRating();
ctor public PercentageRating(@FloatRange(from=0, to=100) float);
method public float getPercent();
method public boolean isRated();
}
public class PlaybackException extends [Link] {
method @CallSuper public boolean errorInfoEquals(@Nullable
[Link]);
method public final String getErrorCodeName();
method public static String
getErrorCodeName(@[Link] int);
field public static final int CUSTOM_ERROR_CODE_BASE = 1000000; // 0xf4240
field public static final int ERROR_CODE_AUDIO_TRACK_INIT_FAILED = 5001; //
0x1389
field public static final int ERROR_CODE_AUDIO_TRACK_OFFLOAD_INIT_FAILED =
5004; // 0x138c
field public static final int ERROR_CODE_AUDIO_TRACK_OFFLOAD_WRITE_FAILED =
5003; // 0x138b
field public static final int ERROR_CODE_AUDIO_TRACK_WRITE_FAILED = 5002; //
0x138a
field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED = -102; //
0xffffff9a
field public static final int ERROR_CODE_BAD_VALUE = -3; // 0xfffffffd
field public static final int ERROR_CODE_BEHIND_LIVE_WINDOW = 1002; // 0x3ea
field public static final int ERROR_CODE_CONCURRENT_STREAM_LIMIT = -104; //
0xffffff98
field public static final int ERROR_CODE_CONTENT_ALREADY_PLAYING = -110; //
0xffffff92
field public static final int ERROR_CODE_DECODER_INIT_FAILED = 4001; // 0xfa1
field public static final int ERROR_CODE_DECODER_QUERY_FAILED = 4002; // 0xfa2
field public static final int ERROR_CODE_DECODING_FAILED = 4003; // 0xfa3
field public static final int ERROR_CODE_DECODING_FORMAT_EXCEEDS_CAPABILITIES =
4004; // 0xfa4
field public static final int ERROR_CODE_DECODING_FORMAT_UNSUPPORTED = 4005; //
0xfa5
field public static final int ERROR_CODE_DISCONNECTED = -100; // 0xffffff9c
field public static final int ERROR_CODE_DRM_CONTENT_ERROR = 6003; // 0x1773
field public static final int ERROR_CODE_DRM_DEVICE_REVOKED = 6007; // 0x1777
field public static final int ERROR_CODE_DRM_DISALLOWED_OPERATION = 6005; //
0x1775
field public static final int ERROR_CODE_DRM_LICENSE_ACQUISITION_FAILED = 6004;
// 0x1774
field public static final int ERROR_CODE_DRM_LICENSE_EXPIRED = 6008; // 0x1778
field public static final int ERROR_CODE_DRM_PROVISIONING_FAILED = 6002; //
0x1772
field public static final int ERROR_CODE_DRM_SCHEME_UNSUPPORTED = 6001; //
0x1771
field public static final int ERROR_CODE_DRM_SYSTEM_ERROR = 6006; // 0x1776
field public static final int ERROR_CODE_DRM_UNSPECIFIED = 6000; // 0x1770
field public static final int ERROR_CODE_END_OF_PLAYLIST = -109; // 0xffffff93
field public static final int ERROR_CODE_FAILED_RUNTIME_CHECK = 1004; // 0x3ec
field public static final int ERROR_CODE_INVALID_STATE = -2; // 0xfffffffe
field public static final int ERROR_CODE_IO_BAD_HTTP_STATUS = 2004; // 0x7d4
field public static final int ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED = 2007; //
0x7d7
field public static final int ERROR_CODE_IO_FILE_NOT_FOUND = 2005; // 0x7d5
field public static final int ERROR_CODE_IO_INVALID_HTTP_CONTENT_TYPE =
2003; // 0x7d3
field public static final int ERROR_CODE_IO_NETWORK_CONNECTION_FAILED =
2001; // 0x7d1
field public static final int ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT =
2002; // 0x7d2
field public static final int ERROR_CODE_IO_NO_PERMISSION = 2006; // 0x7d6
field public static final int ERROR_CODE_IO_READ_POSITION_OUT_OF_RANGE =
2008; // 0x7d8
field public static final int ERROR_CODE_IO_UNSPECIFIED = 2000; // 0x7d0
field public static final int ERROR_CODE_NOT_AVAILABLE_IN_REGION = -106; //
0xffffff96
field public static final int ERROR_CODE_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int ERROR_CODE_PARENTAL_CONTROL_RESTRICTED = -105; //
0xffffff97
field public static final int ERROR_CODE_PARSING_CONTAINER_MALFORMED = 3001; //
0xbb9
field public static final int ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED =
3003; // 0xbbb
field public static final int ERROR_CODE_PARSING_MANIFEST_MALFORMED = 3002; //
0xbba
field public static final int ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED =
3004; // 0xbbc
field public static final int ERROR_CODE_PERMISSION_DENIED = -4; // 0xfffffffc
field public static final int ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED = -103; //
0xffffff99
field public static final int ERROR_CODE_REMOTE_ERROR = 1001; // 0x3e9
field public static final int ERROR_CODE_SETUP_REQUIRED = -108; // 0xffffff94
field public static final int ERROR_CODE_SKIP_LIMIT_REACHED = -107; //
0xffffff95
field public static final int ERROR_CODE_TIMEOUT = 1003; // 0x3eb
field public static final int ERROR_CODE_UNSPECIFIED = 1000; // 0x3e8
field @[Link] public final int
errorCode;
field public final long timestampMs;
}
@IntDef(open=true,
value={[Link].ERROR_CODE_INVALID_STATE,
[Link].ERROR_CODE_BAD_VALUE,
[Link].ERROR_CODE_PERMISSION_DENIED,
[Link].ERROR_CODE_NOT_SUPPORTED,
[Link].ERROR_CODE_DISCONNECTED,
[Link].ERROR_CODE_AUTHENTICATION_EXPIRED,
[Link].ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED,
[Link].ERROR_CODE_CONCURRENT_STREAM_LIMIT,
[Link].ERROR_CODE_PARENTAL_CONTROL_RESTRICTED,
[Link].ERROR_CODE_NOT_AVAILABLE_IN_REGION,
[Link].ERROR_CODE_SKIP_LIMIT_REACHED,
[Link].ERROR_CODE_SETUP_REQUIRED,
[Link].ERROR_CODE_END_OF_PLAYLIST,
[Link].ERROR_CODE_CONTENT_ALREADY_PLAYING,
[Link].ERROR_CODE_UNSPECIFIED,
[Link].ERROR_CODE_REMOTE_ERROR,
[Link].ERROR_CODE_BEHIND_LIVE_WINDOW,
[Link].ERROR_CODE_TIMEOUT,
[Link].ERROR_CODE_FAILED_RUNTIME_CHECK,
[Link].ERROR_CODE_IO_UNSPECIFIED,
[Link].ERROR_CODE_IO_NETWORK_CONNECTION_FAILED,
[Link].ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT,
[Link].ERROR_CODE_IO_INVALID_HTTP_CONTENT_TYPE,
[Link].ERROR_CODE_IO_BAD_HTTP_STATUS,
[Link].ERROR_CODE_IO_FILE_NOT_FOUND,
[Link].ERROR_CODE_IO_NO_PERMISSION,
[Link].ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED,
[Link].ERROR_CODE_IO_READ_POSITION_OUT_OF_RANGE,
[Link].ERROR_CODE_PARSING_CONTAINER_MALFORMED,
[Link].ERROR_CODE_PARSING_MANIFEST_MALFORMED,
[Link].ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED,
[Link].ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED,
[Link].ERROR_CODE_DECODER_INIT_FAILED,
[Link].ERROR_CODE_DECODER_QUERY_FAILED,
[Link].ERROR_CODE_DECODING_FAILED,
[Link].ERROR_CODE_DECODING_FORMAT_EXCEEDS_CAPABIL
ITIES,
[Link].ERROR_CODE_DECODING_FORMAT_UNSUPPORTED,
[Link].ERROR_CODE_AUDIO_TRACK_INIT_FAILED,
[Link].ERROR_CODE_AUDIO_TRACK_WRITE_FAILED,
[Link].ERROR_CODE_AUDIO_TRACK_OFFLOAD_INIT_FAILED
,
[Link].ERROR_CODE_AUDIO_TRACK_OFFLOAD_WRITE_FAILE
D, [Link].ERROR_CODE_DRM_UNSPECIFIED,
[Link].ERROR_CODE_DRM_SCHEME_UNSUPPORTED,
[Link].ERROR_CODE_DRM_PROVISIONING_FAILED,
[Link].ERROR_CODE_DRM_CONTENT_ERROR,
[Link].ERROR_CODE_DRM_LICENSE_ACQUISITION_FAILED,
[Link].ERROR_CODE_DRM_DISALLOWED_OPERATION,
[Link].ERROR_CODE_DRM_SYSTEM_ERROR,
[Link].ERROR_CODE_DRM_DEVICE_REVOKED,
[Link].ERROR_CODE_DRM_LICENSE_EXPIRED})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
public final class PlaybackParameters {
ctor public PlaybackParameters(@FloatRange(from=0, fromInclusive=false) float);
ctor public PlaybackParameters(@FloatRange(from=0, fromInclusive=false) float,
@FloatRange(from=0, fromInclusive=false) float);
method @CheckResult public [Link]
withSpeed(@FloatRange(from=0, fromInclusive=false) float);
field public static final [Link] DEFAULT;
field public final float pitch;
field public final float speed;
}
public interface Player {
method public void addListener([Link]);
method public void addMediaItem([Link]);
method public void addMediaItem(int, [Link]);
method public void addMediaItems(int,
[Link]<[Link]>);
method public void
addMediaItems([Link]<[Link]>);
method public boolean canAdvertiseSession();
method public void clearMediaItems();
method public void clearVideoSurface();
method public void clearVideoSurface(@Nullable [Link]);
method public void clearVideoSurfaceHolder(@Nullable
[Link]);
method public void clearVideoSurfaceView(@Nullable [Link]);
method public void clearVideoTextureView(@Nullable [Link]);
method @Deprecated public void decreaseDeviceVolume();
method public void decreaseDeviceVolume(@[Link]
int);
method public [Link] getApplicationLooper();
method public [Link] getAudioAttributes();
method public [Link] getAvailableCommands();
method @IntRange(from=0, to=100) public int getBufferedPercentage();
method public long getBufferedPosition();
method public long getContentBufferedPosition();
method public long getContentDuration();
method public long getContentPosition();
method public int getCurrentAdGroupIndex();
method public int getCurrentAdIndexInAdGroup();
method public [Link] getCurrentCues();
method public long getCurrentLiveOffset();
method @Nullable public [Link] getCurrentMediaItem();
method public int getCurrentMediaItemIndex();
method public int getCurrentPeriodIndex();
method public long getCurrentPosition();
method public [Link] getCurrentTimeline();
method public [Link] getCurrentTracks();
method public [Link] getDeviceInfo();
method @IntRange(from=0) public int getDeviceVolume();
method public long getDuration();
method public long getMaxSeekToPreviousPosition();
method public [Link] getMediaItemAt(int);
method public int getMediaItemCount();
method public [Link] getMediaMetadata();
method public int getNextMediaItemIndex();
method public boolean getPlayWhenReady();
method public [Link]
getPlaybackParameters();
method @[Link] public int getPlaybackState();
method @[Link] public int
getPlaybackSuppressionReason();
method @Nullable public [Link]
getPlayerError();
method public [Link] getPlaylistMetadata();
method public int getPreviousMediaItemIndex();
method @[Link] public int getRepeatMode();
method public long getSeekBackIncrement();
method public long getSeekForwardIncrement();
method public boolean getShuffleModeEnabled();
method public long getTotalBufferedDuration();
method public [Link]
getTrackSelectionParameters();
method public [Link] getVideoSize();
method @FloatRange(from=0, to=1.0) public float getVolume();
method public boolean hasNextMediaItem();
method public boolean hasPreviousMediaItem();
method @Deprecated public void increaseDeviceVolume();
method public void increaseDeviceVolume(@[Link]
int);
method public boolean isCommandAvailable(@[Link]
int);
method public boolean isCurrentMediaItemDynamic();
method public boolean isCurrentMediaItemLive();
method public boolean isCurrentMediaItemSeekable();
method public boolean isDeviceMuted();
method public boolean isLoading();
method public boolean isPlaying();
method public boolean isPlayingAd();
method public void moveMediaItem(int, int);
method public void moveMediaItems(int, int, int);
method public void pause();
method public void play();
method public void prepare();
method public void release();
method public void removeListener([Link]);
method public void removeMediaItem(int);
method public void removeMediaItems(int, int);
method public void replaceMediaItem(int, [Link]);
method public void replaceMediaItems(int, int,
[Link]<[Link]>);
method public void seekBack();
method public void seekForward();
method public void seekTo(int, long);
method public void seekTo(long);
method public void seekToDefaultPosition();
method public void seekToDefaultPosition(int);
method public void seekToNext();
method public void seekToNextMediaItem();
method public void seekToPrevious();
method public void seekToPreviousMediaItem();
method public void setAudioAttributes([Link],
boolean);
method @Deprecated public void setDeviceMuted(boolean);
method public void setDeviceMuted(boolean,
@[Link] int);
method @Deprecated public void setDeviceVolume(@IntRange(from=0) int);
method public void setDeviceVolume(@IntRange(from=0) int,
@[Link] int);
method public void setMediaItem([Link]);
method public void setMediaItem([Link], boolean);
method public void setMediaItem([Link], long);
method public void
setMediaItems([Link]<[Link]>);
method public void
setMediaItems([Link]<[Link]>, boolean);
method public void
setMediaItems([Link]<[Link]>, int, long);
method public void setPlayWhenReady(boolean);
method public void
setPlaybackParameters([Link]);
method public void setPlaybackSpeed(@FloatRange(from=0, fromInclusive=false)
float);
method public void setPlaylistMetadata([Link]);
method public void setRepeatMode(@[Link]
int);
method public void setShuffleModeEnabled(boolean);
method public void
setTrackSelectionParameters([Link]);
method public void setVideoSurface(@Nullable [Link]);
method public void setVideoSurfaceHolder(@Nullable [Link]);
method public void setVideoSurfaceView(@Nullable [Link]);
method public void setVideoTextureView(@Nullable [Link]);
method public void setVolume(@FloatRange(from=0, to=1.0) float);
method public void stop();
field @Deprecated public static final int COMMAND_ADJUST_DEVICE_VOLUME = 26; //
0x1a
field public static final int COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS = 34; //
0x22
field public static final int COMMAND_CHANGE_MEDIA_ITEMS = 20; // 0x14
field public static final int COMMAND_GET_AUDIO_ATTRIBUTES = 21; // 0x15
field public static final int COMMAND_GET_CURRENT_MEDIA_ITEM = 16; // 0x10
field public static final int COMMAND_GET_DEVICE_VOLUME = 23; // 0x17
field @Deprecated public static final int COMMAND_GET_MEDIA_ITEMS_METADATA =
18; // 0x12
field public static final int COMMAND_GET_METADATA = 18; // 0x12
field public static final int COMMAND_GET_TEXT = 28; // 0x1c
field public static final int COMMAND_GET_TIMELINE = 17; // 0x11
field public static final int COMMAND_GET_TRACKS = 30; // 0x1e
field public static final int COMMAND_GET_VOLUME = 22; // 0x16
field public static final int COMMAND_INVALID = -1; // 0xffffffff
field public static final int COMMAND_PLAY_PAUSE = 1; // 0x1
field public static final int COMMAND_PREPARE = 2; // 0x2
field public static final int COMMAND_RELEASE = 32; // 0x20
field public static final int COMMAND_SEEK_BACK = 11; // 0xb
field public static final int COMMAND_SEEK_FORWARD = 12; // 0xc
field public static final int COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM = 5; // 0x5
field public static final int COMMAND_SEEK_TO_DEFAULT_POSITION = 4; // 0x4
field public static final int COMMAND_SEEK_TO_MEDIA_ITEM = 10; // 0xa
field public static final int COMMAND_SEEK_TO_NEXT = 9; // 0x9
field public static final int COMMAND_SEEK_TO_NEXT_MEDIA_ITEM = 8; // 0x8
field public static final int COMMAND_SEEK_TO_PREVIOUS = 7; // 0x7
field public static final int COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM = 6; // 0x6
field public static final int COMMAND_SET_AUDIO_ATTRIBUTES = 35; // 0x23
field @Deprecated public static final int COMMAND_SET_DEVICE_VOLUME = 25; //
0x19
field public static final int COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS = 33; //
0x21
field public static final int COMMAND_SET_MEDIA_ITEM = 31; // 0x1f
field @Deprecated public static final int COMMAND_SET_MEDIA_ITEMS_METADATA =
19; // 0x13
field public static final int COMMAND_SET_PLAYLIST_METADATA = 19; // 0x13
field public static final int COMMAND_SET_REPEAT_MODE = 15; // 0xf
field public static final int COMMAND_SET_SHUFFLE_MODE = 14; // 0xe
field public static final int COMMAND_SET_SPEED_AND_PITCH = 13; // 0xd
field public static final int COMMAND_SET_TRACK_SELECTION_PARAMETERS = 29; //
0x1d
field public static final int COMMAND_SET_VIDEO_SURFACE = 27; // 0x1b
field public static final int COMMAND_SET_VOLUME = 24; // 0x18
field public static final int COMMAND_STOP = 3; // 0x3
field public static final int DISCONTINUITY_REASON_AUTO_TRANSITION = 0; // 0x0
field public static final int DISCONTINUITY_REASON_INTERNAL = 5; // 0x5
field public static final int DISCONTINUITY_REASON_REMOVE = 4; // 0x4
field public static final int DISCONTINUITY_REASON_SEEK = 1; // 0x1
field public static final int DISCONTINUITY_REASON_SEEK_ADJUSTMENT = 2; // 0x2
field public static final int DISCONTINUITY_REASON_SILENCE_SKIP = 6; // 0x6
field public static final int DISCONTINUITY_REASON_SKIP = 3; // 0x3
field public static final int EVENT_AUDIO_ATTRIBUTES_CHANGED = 20; // 0x14
field public static final int EVENT_AUDIO_SESSION_ID = 21; // 0x15
field public static final int EVENT_AVAILABLE_COMMANDS_CHANGED = 13; // 0xd
field public static final int EVENT_CUES = 27; // 0x1b
field public static final int EVENT_DEVICE_INFO_CHANGED = 29; // 0x1d
field public static final int EVENT_DEVICE_VOLUME_CHANGED = 30; // 0x1e
field public static final int EVENT_IS_LOADING_CHANGED = 3; // 0x3
field public static final int EVENT_IS_PLAYING_CHANGED = 7; // 0x7
field public static final int EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED = 18;
// 0x12
field public static final int EVENT_MEDIA_ITEM_TRANSITION = 1; // 0x1
field public static final int EVENT_MEDIA_METADATA_CHANGED = 14; // 0xe
field public static final int EVENT_METADATA = 28; // 0x1c
field public static final int EVENT_PLAYBACK_PARAMETERS_CHANGED = 12; // 0xc
field public static final int EVENT_PLAYBACK_STATE_CHANGED = 4; // 0x4
field public static final int EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED = 6; //
0x6
field public static final int EVENT_PLAYER_ERROR = 10; // 0xa
field public static final int EVENT_PLAYLIST_METADATA_CHANGED = 15; // 0xf
field public static final int EVENT_PLAY_WHEN_READY_CHANGED = 5; // 0x5
field public static final int EVENT_POSITION_DISCONTINUITY = 11; // 0xb
field public static final int EVENT_RENDERED_FIRST_FRAME = 26; // 0x1a
field public static final int EVENT_REPEAT_MODE_CHANGED = 8; // 0x8
field public static final int EVENT_SEEK_BACK_INCREMENT_CHANGED = 16; // 0x10
field public static final int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = 17; //
0x11
field public static final int EVENT_SHUFFLE_MODE_ENABLED_CHANGED = 9; // 0x9
field public static final int EVENT_SKIP_SILENCE_ENABLED_CHANGED = 23; // 0x17
field public static final int EVENT_SURFACE_SIZE_CHANGED = 24; // 0x18
field public static final int EVENT_TIMELINE_CHANGED = 0; // 0x0
field public static final int EVENT_TRACKS_CHANGED = 2; // 0x2
field public static final int EVENT_TRACK_SELECTION_PARAMETERS_CHANGED = 19; //
0x13
field public static final int EVENT_VIDEO_SIZE_CHANGED = 25; // 0x19
field public static final int EVENT_VOLUME_CHANGED = 22; // 0x16
field public static final int MEDIA_ITEM_TRANSITION_REASON_AUTO = 1; // 0x1
field public static final int MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED =
3; // 0x3
field public static final int MEDIA_ITEM_TRANSITION_REASON_REPEAT = 0; // 0x0
field public static final int MEDIA_ITEM_TRANSITION_REASON_SEEK = 2; // 0x2
field public static final int PLAYBACK_SUPPRESSION_REASON_NONE = 0; // 0x0
field public static final int
PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS = 1; // 0x1
field public static final int
PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_OUTPUT = 3; // 0x3
field @Deprecated public static final int
PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_ROUTE = 2; // 0x2
field public static final int
PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY = 3; // 0x3
field public static final int PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS =
2; // 0x2
field public static final int PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM =
5; // 0x5
field public static final int PLAY_WHEN_READY_CHANGE_REASON_REMOTE = 4; // 0x4
field public static final int PLAY_WHEN_READY_CHANGE_REASON_SUPPRESSED_TOO_LONG
= 6; // 0x6
field public static final int PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST =
1; // 0x1
field public static final int REPEAT_MODE_ALL = 2; // 0x2
field public static final int REPEAT_MODE_OFF = 0; // 0x0
field public static final int REPEAT_MODE_ONE = 1; // 0x1
field public static final int STATE_BUFFERING = 2; // 0x2
field public static final int STATE_ENDED = 4; // 0x4
field public static final int STATE_IDLE = 1; // 0x1
field public static final int STATE_READY = 3; // 0x3
field public static final int TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED = 0; //
0x0
field public static final int TIMELINE_CHANGE_REASON_SOURCE_UPDATE = 1; // 0x1
}
@IntDef({[Link].COMMAND_INVALID,
[Link].COMMAND_PLAY_PAUSE,
[Link].COMMAND_PREPARE,
[Link].COMMAND_STOP,
[Link].COMMAND_SEEK_TO_DEFAULT_POSITION,
[Link].COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM,
[Link].COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
[Link].COMMAND_SEEK_TO_PREVIOUS,
[Link].COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
[Link].COMMAND_SEEK_TO_NEXT,
[Link].COMMAND_SEEK_TO_MEDIA_ITEM,
[Link].COMMAND_SEEK_BACK,
[Link].COMMAND_SEEK_FORWARD,
[Link].COMMAND_SET_SPEED_AND_PITCH,
[Link].COMMAND_SET_SHUFFLE_MODE,
[Link].COMMAND_SET_REPEAT_MODE,
[Link].COMMAND_GET_CURRENT_MEDIA_ITEM,
[Link].COMMAND_GET_TIMELINE,
[Link].COMMAND_GET_MEDIA_ITEMS_METADATA,
[Link].COMMAND_GET_METADATA,
[Link].COMMAND_SET_MEDIA_ITEMS_METADATA,
[Link].COMMAND_SET_PLAYLIST_METADATA,
[Link].COMMAND_SET_MEDIA_ITEM,
[Link].COMMAND_CHANGE_MEDIA_ITEMS,
[Link].COMMAND_GET_AUDIO_ATTRIBUTES,
[Link].COMMAND_GET_VOLUME,
[Link].COMMAND_GET_DEVICE_VOLUME,
[Link].COMMAND_SET_VOLUME,
[Link].COMMAND_SET_DEVICE_VOLUME,
[Link].COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS,
[Link].COMMAND_ADJUST_DEVICE_VOLUME,
[Link].COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS,
[Link].COMMAND_SET_AUDIO_ATTRIBUTES,
[Link].COMMAND_SET_VIDEO_SURFACE,
[Link].COMMAND_GET_TEXT,
[Link].COMMAND_SET_TRACK_SELECTION_PARAMETERS,
[Link].COMMAND_GET_TRACKS,
[Link].COMMAND_RELEASE}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link]
{
}
public static final class [Link] {
method public boolean contains(@[Link] int);
method public boolean containsAny(@[Link]
int...);
method @[Link] public int get(int);
method public int size();
field public static final [Link] EMPTY;
}
@IntDef({[Link].DISCONTINUITY_REASON_AUTO_TRANSITION,
[Link].DISCONTINUITY_REASON_SEEK,
[Link].DISCONTINUITY_REASON_SEEK_ADJUSTMENT,
[Link].DISCONTINUITY_REASON_SKIP,
[Link].DISCONTINUITY_REASON_REMOVE,
[Link].DISCONTINUITY_REASON_INTERNAL,
[Link].DISCONTINUITY_REASON_SILENCE_SKIP})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].EVENT_TIMELINE_CHANGED,
[Link].EVENT_MEDIA_ITEM_TRANSITION,
[Link].EVENT_TRACKS_CHANGED,
[Link].EVENT_IS_LOADING_CHANGED,
[Link].EVENT_PLAYBACK_STATE_CHANGED,
[Link].EVENT_PLAY_WHEN_READY_CHANGED,
[Link].EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED,
[Link].EVENT_IS_PLAYING_CHANGED,
[Link].EVENT_REPEAT_MODE_CHANGED,
[Link].EVENT_SHUFFLE_MODE_ENABLED_CHANGED,
[Link].EVENT_PLAYER_ERROR,
[Link].EVENT_POSITION_DISCONTINUITY,
[Link].EVENT_PLAYBACK_PARAMETERS_CHANGED,
[Link].EVENT_AVAILABLE_COMMANDS_CHANGED,
[Link].EVENT_MEDIA_METADATA_CHANGED,
[Link].EVENT_PLAYLIST_METADATA_CHANGED,
[Link].EVENT_SEEK_BACK_INCREMENT_CHANGED,
[Link].EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
[Link].EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED,
[Link].EVENT_TRACK_SELECTION_PARAMETERS_CHANGED,
[Link].EVENT_AUDIO_ATTRIBUTES_CHANGED,
[Link].EVENT_AUDIO_SESSION_ID,
[Link].EVENT_VOLUME_CHANGED,
[Link].EVENT_SKIP_SILENCE_ENABLED_CHANGED,
[Link].EVENT_SURFACE_SIZE_CHANGED,
[Link].EVENT_VIDEO_SIZE_CHANGED,
[Link].EVENT_RENDERED_FIRST_FRAME,
[Link].EVENT_CUES,
[Link].EVENT_METADATA,
[Link].EVENT_DEVICE_INFO_CHANGED,
[Link].EVENT_DEVICE_VOLUME_CHANGED})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link] {
}
public static final class [Link] {
method public boolean contains(@[Link] int);
method public boolean containsAny(@[Link] int...);
method @[Link] public int get(int);
method public int size();
}
public static interface [Link] {
method public default void
onAudioAttributesChanged([Link]);
method public default void
onAvailableCommandsChanged([Link]);
method public default void onCues([Link]);
method public default void
onDeviceInfoChanged([Link]);
method public default void onDeviceVolumeChanged(int, boolean);
method public default void onEvents([Link],
[Link]);
method public default void onIsLoadingChanged(boolean);
method public default void onIsPlayingChanged(boolean);
method public default void onMaxSeekToPreviousPositionChanged(long);
method public default void onMediaItemTransition(@Nullable
[Link],
@[Link] int);
method public default void
onMediaMetadataChanged([Link]);
method public default void onPlayWhenReadyChanged(boolean,
@[Link] int);
method public default void
onPlaybackParametersChanged([Link]);
method public default void
onPlaybackStateChanged(@[Link] int);
method public default void
onPlaybackSuppressionReasonChanged(@[Link]
onReason int);
method public default void
onPlayerError([Link]);
method public default void onPlayerErrorChanged(@Nullable
[Link]);
method public default void
onPlaylistMetadataChanged([Link]);
method public default void
onPositionDiscontinuity([Link],
[Link],
@[Link] int);
method public default void onRenderedFirstFrame();
method public default void
onRepeatModeChanged(@[Link] int);
method public default void onSeekBackIncrementChanged(long);
method public default void onSeekForwardIncrementChanged(long);
method public default void onShuffleModeEnabledChanged(boolean);
method public default void onSkipSilenceEnabledChanged(boolean);
method public default void onSurfaceSizeChanged(int, int);
method public default void onTimelineChanged([Link],
@[Link] int);
method public default void
onTrackSelectionParametersChanged([Link]);
method public default void onTracksChanged([Link]);
method public default void
onVideoSizeChanged([Link]);
method public default void onVolumeChanged(float);
}
@IntDef({[Link].MEDIA_ITEM_TRANSITION_REASON_REPEAT,
[Link].MEDIA_ITEM_TRANSITION_REASON_AUTO,
[Link].MEDIA_ITEM_TRANSITION_REASON_SEEK,
[Link].MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST,
[Link].PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS,
[Link].PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY,
[Link].PLAY_WHEN_READY_CHANGE_REASON_REMOTE,
[Link].PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM,
[Link].PLAY_WHEN_READY_CHANGE_REASON_SUPPRESSED_TOO_LONG})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].PLAYBACK_SUPPRESSION_REASON_NONE,
[Link].PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOS
S,
[Link].PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_ROUTE,
[Link].PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_OUTPUT})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
public static final class [Link] {
field public final int adGroupIndex;
field public final int adIndexInAdGroup;
field public final long contentPositionMs;
field public final int mediaItemIndex;
field public final int periodIndex;
field @Nullable public final Object periodUid;
field public final long positionMs;
field @Nullable public final Object windowUid;
}
@IntDef({[Link].REPEAT_MODE_OFF,
[Link].REPEAT_MODE_ONE,
[Link].REPEAT_MODE_ALL}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].STATE_IDLE,
[Link].STATE_BUFFERING,
[Link].STATE_READY,
[Link].STATE_ENDED}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link] {
}
@IntDef({[Link].TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED,
[Link].TIMELINE_CHANGE_REASON_SOURCE_UPDATE})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
public abstract class Rating {
method public abstract boolean isRated();
}
public final class StarRating extends [Link] {
ctor public StarRating(@IntRange(from=1) int);
ctor public StarRating(@IntRange(from=1) int, @FloatRange(from=0.0) float);
method @IntRange(from=1) public int getMaxStars();
method public float getStarRating();
method public boolean isRated();
}
public final class ThumbRating extends [Link] {
ctor public ThumbRating();
ctor public ThumbRating(boolean);
method public boolean isRated();
method public boolean isThumbsUp();
}
public abstract class Timeline {
method public int getFirstWindowIndex(boolean);
method public abstract int getIndexOfPeriod(Object);
method public int getLastWindowIndex(boolean);
method public final int getNextPeriodIndex(int,
[Link], [Link],
@[Link] int, boolean);
method public int getNextWindowIndex(int,
@[Link] int, boolean);
method public final [Link] getPeriod(int,
[Link]);
method public abstract [Link] getPeriod(int,
[Link], boolean);
method public [Link] getPeriodByUid(Object,
[Link]);
method public abstract int getPeriodCount();
method public final [Link]<[Link],[Link]>
getPeriodPositionUs([Link],
[Link], int, long);
method @Nullable public final
[Link]<[Link],[Link]>
getPeriodPositionUs([Link],
[Link], int, long, long);
method public int getPreviousWindowIndex(int,
@[Link] int, boolean);
method public abstract Object getUidOfPeriod(int);
method public final [Link] getWindow(int,
[Link]);
method public abstract [Link] getWindow(int,
[Link], long);
method public abstract int getWindowCount();
method public final boolean isEmpty();
method public final boolean isLastPeriod(int,
[Link], [Link],
@[Link] int, boolean);
field public static final [Link] EMPTY;
}
public static final class [Link] {
ctor public [Link]();
method public int getAdCountInAdGroup(int);
method public long getAdDurationUs(int, int);
method public int getAdGroupCount();
method public int getAdGroupIndexAfterPositionUs(long);
method public int getAdGroupIndexForPositionUs(long);
method public long getAdGroupTimeUs(int);
method public long getAdResumePositionUs();
method @Nullable public Object getAdsId();
method public long getDurationMs();
method public long getDurationUs();
method public int getFirstAdIndexToPlay(int);
method public int getNextAdIndexToPlay(int, int);
method public long getPositionInWindowMs();
method public long getPositionInWindowUs();
method public int getRemovedAdGroupCount();
method public boolean hasPlayedAdGroup(int);
field @Nullable public Object id;
field public boolean isPlaceholder;
field @Nullable public Object uid;
field public int windowIndex;
}
public static final class [Link] {
ctor public [Link]();
method public long getCurrentUnixTimeMs();
method public long getDefaultPositionMs();
method public long getDefaultPositionUs();
method public long getDurationMs();
method public long getDurationUs();
method public long getPositionInFirstPeriodMs();
method public long getPositionInFirstPeriodUs();
method public boolean isLive();
field public static final Object SINGLE_WINDOW_UID;
field public long elapsedRealtimeEpochOffsetMs;
field public int firstPeriodIndex;
field public boolean isDynamic;
field public boolean isPlaceholder;
field public boolean isSeekable;
field public int lastPeriodIndex;
field @Nullable public [Link]
liveConfiguration;
field @Nullable public Object manifest;
field public [Link] mediaItem;
field public long presentationStartTimeMs;
field public Object uid;
field public long windowStartTimeMs;
}
public final class TrackGroup {
}
public final class TrackSelectionOverride {
ctor public TrackSelectionOverride([Link], int);
ctor public TrackSelectionOverride([Link],
[Link]<[Link]>);
method @[Link] public int getType();
field public final [Link] mediaTrackGroup;
field public final [Link]<[Link]>
trackIndices;
}
public class TrackSelectionParameters {
method public [Link]
buildUpon();
method public static [Link]
fromBundle([Link]);
method public static [Link]
getDefaults([Link]);
method @CallSuper public [Link] toBundle();
field public final [Link]<[Link]>
disabledTrackTypes;
field public final boolean forceHighestSupportedBitrate;
field public final boolean forceLowestBitrate;
field @[Link] public final int
ignoredTextSelectionFlags;
field public final int maxAudioBitrate;
field public final int maxAudioChannelCount;
field public final int maxVideoBitrate;
field public final int maxVideoFrameRate;
field public final int maxVideoHeight;
field public final int maxVideoWidth;
field public final int minVideoBitrate;
field public final int minVideoFrameRate;
field public final int minVideoHeight;
field public final int minVideoWidth;
field public final
[Link]<[Link],androidx.m
[Link]> overrides;
field public final [Link]<[Link]>
preferredAudioLanguages;
field public final [Link]<[Link]>
preferredAudioMimeTypes;
field @[Link] public final int
preferredAudioRoleFlags;
field public final [Link]<[Link]>
preferredTextLanguages;
field @[Link] public final int
preferredTextRoleFlags;
field public final [Link]<[Link]>
preferredVideoMimeTypes;
field @[Link] public final int
preferredVideoRoleFlags;
field public final boolean selectUndeterminedTextLanguage;
field public final int viewportHeight;
field public final boolean viewportOrientationMayChange;
field public final int viewportWidth;
}
public static class [Link] {
ctor public [Link]([Link]);
method public [Link]
addOverride([Link]);
method public [Link] build();
method public [Link]
clearOverride([Link]);
method public [Link]
clearOverrides();
method public [Link]
clearOverridesOfType(@[Link] int);
method public [Link]
clearVideoSizeConstraints();
method public [Link]
clearViewportSizeConstraints();
method public [Link]
setForceHighestSupportedBitrate(boolean);
method public [Link]
setForceLowestBitrate(boolean);
method public [Link]
setIgnoredTextSelectionFlags(@[Link] int);
method public [Link]
setMaxAudioBitrate(int);
method public [Link]
setMaxAudioChannelCount(int);
method public [Link]
setMaxVideoBitrate(int);
method public [Link]
setMaxVideoFrameRate(int);
method public [Link]
setMaxVideoSize(int, int);
method public [Link]
setMaxVideoSizeSd();
method public [Link]
setMinVideoBitrate(int);
method public [Link]
setMinVideoFrameRate(int);
method public [Link]
setMinVideoSize(int, int);
method public [Link]
setOverrideForType([Link]);
method public [Link]
setPreferredAudioLanguage(@Nullable String);
method public [Link]
setPreferredAudioLanguages([Link]...);
method public [Link]
setPreferredAudioMimeType(@Nullable String);
method public [Link]
setPreferredAudioMimeTypes([Link]...);
method public [Link]
setPreferredAudioRoleFlags(@[Link] int);
method public [Link]
setPreferredTextLanguage(@Nullable String);
method public [Link]
setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings([Link]
text);
method public [Link]
setPreferredTextLanguages([Link]...);
method public [Link]
setPreferredTextRoleFlags(@[Link] int);
method public [Link]
setPreferredVideoMimeType(@Nullable String);
method public [Link]
setPreferredVideoMimeTypes([Link]...);
method public [Link]
setPreferredVideoRoleFlags(@[Link] int);
method public [Link]
setSelectUndeterminedTextLanguage(boolean);
method public [Link]
setTrackTypeDisabled(@[Link] int, boolean);
method public [Link]
setViewportSize(int, int, boolean);
method public [Link]
setViewportSizeToPhysicalDisplaySize([Link], boolean);
}
public final class Tracks {
method public boolean containsType(@[Link] int);
method public
[Link]<[Link]>
getGroups();
method public boolean isEmpty();
method public boolean isTypeSelected(@[Link] int);
method public boolean isTypeSupported(@[Link] int);
method public boolean isTypeSupported(@[Link] int,
boolean);
field public static final [Link] EMPTY;
}
public static final class [Link] {
method public [Link] getMediaTrackGroup();
method public [Link] getTrackFormat(int);
method @[Link] public int getType();
method public boolean isAdaptiveSupported();
method public boolean isSelected();
method public boolean isSupported();
method public boolean isSupported(boolean);
method public boolean isTrackSelected(int);
method public boolean isTrackSupported(int);
method public boolean isTrackSupported(int, boolean);
method public [Link] toBundle();
field public final int length;
}
public final class VideoSize {
field public static final [Link] UNKNOWN;
field @IntRange(from=0) public final int height;
field @FloatRange(from=0, fromInclusive=false) public final float
pixelWidthHeightRatio;
field @Deprecated @IntRange(from=0, to=359) public final int
unappliedRotationDegrees;
field @IntRange(from=0) public final int width;
}
}
package [Link] {
public final class Cue {
field public static final int ANCHOR_TYPE_END = 2; // 0x2
field public static final int ANCHOR_TYPE_MIDDLE = 1; // 0x1
field public static final int ANCHOR_TYPE_START = 0; // 0x0
field public static final float DIMEN_UNSET = -3.4028235E38f;
field @Deprecated public static final [Link] EMPTY;
field public static final int LINE_TYPE_FRACTION = 0; // 0x0
field public static final int LINE_TYPE_NUMBER = 1; // 0x1
field public static final int TEXT_SIZE_TYPE_ABSOLUTE = 2; // 0x2
field public static final int TEXT_SIZE_TYPE_FRACTIONAL = 0; // 0x0
field public static final int TEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING = 1; //
0x1
field public static final int TYPE_UNSET = -2147483648; // 0x80000000
field public static final int VERTICAL_TYPE_LR = 2; // 0x2
field public static final int VERTICAL_TYPE_RL = 1; // 0x1
field @Nullable public final [Link] bitmap;
field public final float bitmapHeight;
field public final float line;
field @[Link] public final int lineAnchor;
field @[Link] public final int lineType;
field @Nullable public final [Link] multiRowAlignment;
field public final float position;
field @[Link] public final int
positionAnchor;
field public final float shearDegrees;
field public final float size;
field @Nullable public final CharSequence text;
field @Nullable public final [Link] textAlignment;
field public final float textSize;
field @[Link] public final int
textSizeType;
field @[Link] public final int
verticalType;
field public final int windowColor;
field public final boolean windowColorSet;
}
@IntDef({[Link].TYPE_UNSET,
[Link].ANCHOR_TYPE_START,
[Link].ANCHOR_TYPE_MIDDLE,
[Link].ANCHOR_TYPE_END}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link]
{
}
@IntDef({[Link].TYPE_UNSET,
[Link].LINE_TYPE_FRACTION,
[Link].LINE_TYPE_NUMBER}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface [Link] {
}
@IntDef({[Link].TYPE_UNSET,
[Link].TEXT_SIZE_TYPE_FRACTIONAL,
[Link].TEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING,
[Link].TEXT_SIZE_TYPE_ABSOLUTE})
@[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
@IntDef({[Link].TYPE_UNSET,
[Link].VERTICAL_TYPE_RL,
[Link].VERTICAL_TYPE_LR}) @[Link]
@[Link]([Link])
@[Link]({[Link],
[Link],
[Link],
[Link].LOCAL_VARIABLE,
[Link].TYPE_USE}) public static @interface
[Link] {
}
public final class CueGroup {
field public final
[Link]<[Link]> cues;
}
package [Link] {
public final class Util {
method public static boolean
checkCleartextTrafficPermitted([Link]...);
method @Nullable public static String
getAdaptiveMimeTypeForContentType(@[Link] int);
method @Nullable public static [Link] getDrmUuid(String);
method public static boolean handlePauseButtonAction(@Nullable
[Link]);
method public static boolean handlePlayButtonAction(@Nullable
[Link]);
method public static boolean handlePlayPauseButtonAction(@Nullable
[Link]);
method @[Link] public static int
inferContentType([Link]);
method @[Link] public static int
inferContentTypeForExtension(String);
method @[Link] public static int
inferContentTypeForUriAndMimeType([Link], @Nullable String);
method @Deprecated public static boolean
maybeRequestReadExternalStoragePermission([Link],
[Link]...);
method @Deprecated public static boolean
maybeRequestReadExternalStoragePermission([Link],
[Link]...);
method public static boolean
maybeRequestReadStoragePermission([Link],
[Link]...);
method
@[Link](result=false,
expression="#1") public static boolean shouldShowPlayButton(@Nullable
[Link]);
}
package [Link] {
public interface DataSource {
}
public static interface [Link] {
}
public class DataSourceException extends [Link] {
field @[Link] public final int
reason;
}
public final class DefaultDataSource implements
[Link] {
}
public static final class [Link] implements
[Link] {
ctor public [Link]([Link]);
ctor public [Link]([Link],
[Link]);
}
public class DefaultHttpDataSource implements
[Link] [Link] {
}
public static final class [Link] implements
[Link] {
ctor public [Link]();
}
public interface HttpDataSource extends [Link] {
}
public static final class [Link] extends
[Link] {
}
public static interface [Link] extends
[Link] {
}
public static class [Link] extends
[Link] {
field public static final int TYPE_CLOSE = 3; // 0x3
field public static final int TYPE_OPEN = 1; // 0x1
field public static final int TYPE_READ = 2; // 0x2
field @[Link]
public final int type;
}
@IntDef({[Link].TYPE_OPE
N, [Link].TYPE_READ,
[Link].TYPE_CLOSE})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
public static final class [Link] extends
[Link] {
field public final String contentType;
}
public static final class [Link] extends
[Link] {
field public final byte[] responseBody;
field public final int responseCode;
field @Nullable public final String responseMessage;
}
package [Link] {
public class CronetDataSource implements [Link]
[Link] {
}
public static final class [Link] implements
[Link] {
ctor public [Link]([Link],
[Link]);
}
public final class CronetUtil {
method @Nullable public static [Link]
buildCronetEngine([Link]);
}
package [Link] {
public class OkHttpDataSource implements [Link]
[Link] {
}
public static final class [Link] implements
[Link] {
ctor public [Link]([Link]);
}
package [Link] {
public final class ExoPlaybackException extends
[Link] {
}
public interface ExoPlayer extends [Link] {
method public void
addAnalyticsListener([Link]);
method @Nullable public [Link]
getPlayerError();
method public void
removeAnalyticsListener([Link]);
method public void setHandleAudioBecomingNoisy(boolean);
method public void setWakeMode(@[Link] int);
}
public static final class [Link] {
ctor public [Link]([Link]);
method public [Link] build();
method public [Link]
setAudioAttributes([Link], boolean);
method public [Link]
setHandleAudioBecomingNoisy(boolean);
method public [Link]
setMediaSourceFactory([Link]);
method public [Link]
setWakeMode(@[Link] int);
}
package [Link] {
public interface AnalyticsListener {
}
package [Link] {
public final class FrameworkMediaDrm {
method public static boolean isCryptoSchemeSupported([Link]);
}
package [Link] {
public final class ImaAdsLoader implements
[Link] {
method public void release();
method public void setPlayer(@Nullable [Link]);
}
public static final class [Link] {
ctor public [Link]([Link]);
method public [Link] build();
}
public final class ImaServerSideAdInsertionMediaSource implements
[Link] {
}
public static final class [Link] {
method public
[Link]
release();
method public void setPlayer([Link]);
}
public static final class [Link] {
ctor public
[Link]([Link],
[Link]);
method public
[Link]
build();
method public
[Link]
setAdsLoaderState([Link]
.[Link]);
}
public static class [Link] {
method public static
[Link]
fromBundle([Link]);
method public [Link] toBundle();
}
public static final class [Link] implements
[Link] {
ctor public
[Link]([Link]
[Link],
[Link]);
}
package [Link] {
public final class DefaultMediaSourceFactory implements
[Link] {
ctor public DefaultMediaSourceFactory([Link]);
method public [Link]
clearLocalAdInsertionComponents();
method public [Link]
setDataSourceFactory([Link]);
method public [Link]
setLocalAdInsertionComponents([Link]
er, [Link]);
method public [Link]
setServerSideAdInsertionMediaSourceFactory(@Nullable
[Link]);
}
public interface MediaSource {
}
public static interface [Link] {
}
package [Link] {
public interface AdsLoader {
method public void release();
method public void setPlayer(@Nullable [Link]);
}
public static interface [Link] {
method @Nullable public [Link]
getAdsLoader([Link]);
}
package [Link] {
public class DebugTextViewHelper {
ctor public DebugTextViewHelper([Link],
[Link]);
method public final void start();
method public final void stop();
}
public class EventLogger implements
[Link] {
ctor public EventLogger();
ctor public EventLogger(String);
}
package [Link] {
public final class CommandButton {
field public final CharSequence displayName;
field @DrawableRes public final int iconResId;
field public final boolean isEnabled;
field @[Link] public final int playerCommand;
field @Nullable public final [Link]
sessionCommand;
}
public static final class [Link] {
ctor public [Link]();
method public [Link] build();
method public [Link]
setDisplayName(CharSequence);
method public [Link]
setEnabled(boolean);
method public [Link]
setExtras([Link]);
method public [Link]
setIconResId(@DrawableRes int);
method public [Link]
setPlayerCommand(@[Link] int);
method public [Link]
setSessionCommand([Link]);
}
public final class LibraryResult<V> {
method public static <V> [Link]<V>
ofError(@[Link] int);
method public static <V> [Link]<V>
ofError(@[Link] int, @Nullable
[Link]);
method public static
[Link]<[Link]>
ofItem([Link], @Nullable
[Link]);
method public static
[Link]<[Link]<andro
[Link]>>
ofItemList([Link]<[Link]>, @Nullable
[Link]);
method public static [Link]<[Link]>
ofVoid();
method public static [Link]<[Link]>
ofVoid(@Nullable [Link]);
field public static final int RESULT_ERROR_BAD_VALUE = -3; // 0xfffffffd
field public static final int RESULT_ERROR_INVALID_STATE = -2; // 0xfffffffe
field public static final int RESULT_ERROR_IO = -5; // 0xfffffffb
field public static final int RESULT_ERROR_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int RESULT_ERROR_PERMISSION_DENIED = -4; //
0xfffffffc
field public static final int RESULT_ERROR_SESSION_AUTHENTICATION_EXPIRED = -
102; // 0xffffff9a
field public static final int RESULT_ERROR_SESSION_CONCURRENT_STREAM_LIMIT = -
104; // 0xffffff98
field public static final int RESULT_ERROR_SESSION_DISCONNECTED = -100; //
0xffffff9c
field public static final int RESULT_ERROR_SESSION_NOT_AVAILABLE_IN_REGION = -
106; // 0xffffff96
field public static final int RESULT_ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED
= -105; // 0xffffff97
field public static final int RESULT_ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED = -
103; // 0xffffff99
field public static final int RESULT_ERROR_SESSION_SETUP_REQUIRED = -108; //
0xffffff94
field public static final int RESULT_ERROR_SESSION_SKIP_LIMIT_REACHED = -
107; // 0xffffff95
field public static final int RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
field public static final int RESULT_INFO_SKIPPED = 1; // 0x1
field public static final int RESULT_SUCCESS = 0; // 0x0
field public final long completionTimeMs;
field @Nullable public final
[Link] params;
field @[Link] public final int resultCode;
field @Nullable public final V value;
}
@IntDef({[Link].RESULT_SUCCESS,
[Link].INFO_CANCELLED,
[Link].ERROR_UNKNOWN,
[Link].ERROR_INVALID_STATE,
[Link].ERROR_BAD_VALUE,
[Link].ERROR_PERMISSION_DENIED,
[Link].ERROR_IO,
[Link].ERROR_SESSION_DISCONNECTED,
[Link].ERROR_NOT_SUPPORTED,
[Link].ERROR_SESSION_AUTHENTICATION_EXPIRED,
[Link].ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED,
[Link].ERROR_SESSION_CONCURRENT_STREAM_LIMIT,
[Link].ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED,
[Link].ERROR_SESSION_NOT_AVAILABLE_IN_REGION,
[Link].ERROR_SESSION_SKIP_LIMIT_REACHED,
[Link].ERROR_SESSION_SETUP_REQUIRED})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
public final class MediaBrowser extends [Link] {
method public
[Link]<[Link]
esult<[Link]<[Link]>>>
getChildren(String, @IntRange(from=0) int, @IntRange(from=1) int, @Nullable
[Link]);
method public
[Link]<[Link]
esult<[Link]>> getItem(String);
method public
[Link]<[Link]
esult<[Link]>> getLibraryRoot(@Nullable
[Link]);
method public
[Link]<[Link]
esult<[Link]<[Link]>>>
getSearchResult(String, @IntRange(from=0) int, @IntRange(from=1) int, @Nullable
[Link]);
method public
[Link]<[Link]
esult<[Link]>> search(String, @Nullable
[Link]);
method public
[Link]<[Link]
esult<[Link]>> subscribe(String, @Nullable
[Link]);
method public
[Link]<[Link]
esult<[Link]>> unsubscribe(String);
}
public static final class [Link] {
ctor public [Link]([Link],
[Link]);
method public
[Link]<[Link]
wser> buildAsync();
method public [Link]
setApplicationLooper([Link]);
method public [Link]
setConnectionHints([Link]);
method public [Link]
setListener([Link]);
}
public static interface [Link] extends
[Link] {
method public default void
onChildrenChanged([Link], String, @IntRange(from=0)
int, @Nullable [Link]);
method public default void
onSearchResultChanged([Link], String,
@IntRange(from=0) int, @Nullable
[Link]);
}
public final class MediaConstants {
field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED_COMPAT = 3; //
0x3
field public static final String
EXTRAS_KEY_ERROR_RESOLUTION_ACTION_INTENT_COMPAT =
"[Link].ERROR_RESOLUTION_ACTION_INTENT";
field public static final String
EXTRAS_KEY_ERROR_RESOLUTION_ACTION_LABEL_COMPAT =
"[Link].ERROR_RESOLUTION_ACTION_LABEL";
field public static final String EXTRAS_KEY_SLOT_RESERVATION_SEEK_TO_NEXT =
"[Link].ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_NEXT";
field public static final String EXTRAS_KEY_SLOT_RESERVATION_SEEK_TO_PREV =
"[Link].ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS";
}
@[Link] public class MediaController
implements [Link] {
method public final void addListener([Link]);
method public final void addMediaItem([Link]);
method public final void addMediaItem(int, [Link]);
method public final void addMediaItems(int,
[Link]<[Link]>);
method public final void
addMediaItems([Link]<[Link]>);
method public final boolean canAdvertiseSession();
method public final void clearMediaItems();
method public final void clearVideoSurface();
method public final void clearVideoSurface(@Nullable [Link]);
method public final void clearVideoSurfaceHolder(@Nullable
[Link]);
method public final void clearVideoSurfaceView(@Nullable
[Link]);
method public final void clearVideoTextureView(@Nullable
[Link]);
method @Deprecated public final void decreaseDeviceVolume();
method public final void
decreaseDeviceVolume(@[Link] int);
method public final [Link] getApplicationLooper();
method public final [Link]
getAudioAttributes();
method public final [Link]
getAvailableCommands();
method public final [Link]
getAvailableSessionCommands();
method @IntRange(from=0, to=100) public final int getBufferedPercentage();
method public final long getBufferedPosition();
method @Nullable public final [Link]
getConnectedToken();
method public final long getContentBufferedPosition();
method public final long getContentDuration();
method public final long getContentPosition();
method public final int getCurrentAdGroupIndex();
method public final int getCurrentAdIndexInAdGroup();
method public final [Link] getCurrentCues();
method public final long getCurrentLiveOffset();
method @Nullable public final [Link]
getCurrentMediaItem();
method public final int getCurrentMediaItemIndex();
method public final int getCurrentPeriodIndex();
method public final long getCurrentPosition();
method public final [Link] getCurrentTimeline();
method public final [Link] getCurrentTracks();
method public final [Link] getDeviceInfo();
method @IntRange(from=0) public final int getDeviceVolume();
method public final long getDuration();
method public final long getMaxSeekToPreviousPosition();
method public final [Link] getMediaItemAt(int);
method public final int getMediaItemCount();
method public final [Link] getMediaMetadata();
method public final int getNextMediaItemIndex();
method public final boolean getPlayWhenReady();
method public final [Link]
getPlaybackParameters();
method @[Link] public final int
getPlaybackState();
method @[Link] public final
int getPlaybackSuppressionReason();
method @Nullable public final [Link]
getPlayerError();
method public final [Link] getPlaylistMetadata();
method public final int getPreviousMediaItemIndex();
method @[Link] public final int
getRepeatMode();
method public final long getSeekBackIncrement();
method public final long getSeekForwardIncrement();
method @Nullable public final [Link] getSessionActivity();
method public final boolean getShuffleModeEnabled();
method public final long getTotalBufferedDuration();
method public final [Link]
getTrackSelectionParameters();
method public final [Link] getVideoSize();
method @FloatRange(from=0, to=1) public final float getVolume();
method public final boolean hasNextMediaItem();
method public final boolean hasPreviousMediaItem();
method @Deprecated public final void increaseDeviceVolume();
method public final void
increaseDeviceVolume(@[Link] int);
method public final boolean
isCommandAvailable(@[Link] int);
method public final boolean isConnected();
method public final boolean isCurrentMediaItemDynamic();
method public final boolean isCurrentMediaItemLive();
method public final boolean isCurrentMediaItemSeekable();
method public final boolean isDeviceMuted();
method public final boolean isLoading();
method public final boolean isPlaying();
method public final boolean isPlayingAd();
method public final boolean
isSessionCommandAvailable([Link]);
method public final boolean
isSessionCommandAvailable(@[Link] int);
method public final void moveMediaItem(int, int);
method public final void moveMediaItems(int, int, int);
method public final void pause();
method public final void play();
method public final void prepare();
method public final void release();
method public static void releaseFuture([Link]<? extends
[Link]>);
method public final void
removeListener([Link]);
method public final void removeMediaItem(int);
method public final void removeMediaItems(int, int);
method public final void replaceMediaItem(int,
[Link]);
method public final void replaceMediaItems(int, int,
[Link]<[Link]>);
method public final void seekBack();
method public final void seekForward();
method public final void seekTo(int, long);
method public final void seekTo(long);
method public final void seekToDefaultPosition();
method public final void seekToDefaultPosition(int);
method public final void seekToNext();
method public final void seekToNextMediaItem();
method public final void seekToPrevious();
method public final void seekToPreviousMediaItem();
method public final
[Link]<[Link]
esult> sendCustomCommand([Link],
[Link]);
method public final void
setAudioAttributes([Link], boolean);
method @Deprecated public final void setDeviceMuted(boolean);
method public final void setDeviceMuted(boolean,
@[Link] int);
method @Deprecated public final void setDeviceVolume(@IntRange(from=0) int);
method public final void setDeviceVolume(@IntRange(from=0) int,
@[Link] int);
method public final void setMediaItem([Link]);
method public final void setMediaItem([Link],
boolean);
method public final void setMediaItem([Link], long);
method public final void
setMediaItems([Link]<[Link]>);
method public final void
setMediaItems([Link]<[Link]>, boolean);
method public final void
setMediaItems([Link]<[Link]>, int, long);
method public final void setPlayWhenReady(boolean);
method public final void
setPlaybackParameters([Link]);
method public final void setPlaybackSpeed(float);
method public final void
setPlaylistMetadata([Link]);
method public final
[Link]<[Link]
esult> setRating([Link]);
method public final
[Link]<[Link]
esult> setRating(String, [Link]);
method public final void
setRepeatMode(@[Link] int);
method public final void setShuffleModeEnabled(boolean);
method public final void
setTrackSelectionParameters([Link]);
method public final void setVideoSurface(@Nullable [Link]);
method public final void setVideoSurfaceHolder(@Nullable
[Link]);
method public final void setVideoSurfaceView(@Nullable
[Link]);
method public final void setVideoTextureView(@Nullable
[Link]);
method public final void setVolume(@FloatRange(from=0, to=1) float);
method public final void stop();
}
public static final class [Link] {
ctor public [Link]([Link],
[Link]);
method public
[Link]<[Link]
troller> buildAsync();
method public [Link]
setApplicationLooper([Link]);
method public [Link]
setConnectionHints([Link]);
method public [Link]
setListener([Link]);
}
public static interface [Link] {
method public default void
onAvailableSessionCommandsChanged([Link],
[Link]);
method public default
[Link]<[Link]
esult> onCustomCommand([Link],
[Link], [Link]);
method public default void
onDisconnected([Link]);
method public default void
onExtrasChanged([Link], [Link]);
method public default
[Link]<[Link]
esult> onSetCustomLayout([Link],
[Link]<[Link]>);
}
public abstract class MediaLibraryService extends
[Link] {
ctor public MediaLibraryService();
method @Nullable public abstract
[Link]
onGetSession([Link]);
field public static final String SERVICE_INTERFACE =
"[Link]";
}
public static final class [Link] {
field public final boolean isOffline;
field public final boolean isRecent;
field public final boolean isSuggested;
}
public static final class [Link] {
ctor public [Link]();
method public [Link]
build();
method public [Link]
setOffline(boolean);
method public [Link]
setRecent(boolean);
method public [Link]
setSuggested(boolean);
}
public static final class [Link] extends
[Link] {
method public void
notifyChildrenChanged([Link], String,
@IntRange(from=0) int, @Nullable
[Link]);
method public void notifyChildrenChanged(String, @IntRange(from=0) int,
@Nullable [Link]);
method public void
notifySearchResultChanged([Link],
String, @IntRange(from=0) int, @Nullable
[Link]);
}
public static final class [Link] {
ctor public
[Link]([Link]
yService, [Link],
[Link]);
method public [Link]
build();
method public
[Link]
setExtras([Link]);
method public
[Link]
setId(String);
method public
[Link]
setSessionActivity([Link]);
}
public static interface [Link] extends
[Link] {
method public default
[Link]<[Link]
esult<[Link]<[Link]>>>
onGetChildren([Link],
[Link], String, @IntRange(from=0) int,
@IntRange(from=1) int, @Nullable
[Link]);
method public default
[Link]<[Link]
esult<[Link]>>
onGetItem([Link],
[Link], String);
method public default
[Link]<[Link]
esult<[Link]>>
onGetLibraryRoot([Link],
[Link], @Nullable
[Link]);
method public default
[Link]<[Link]
esult<[Link]<[Link]>>>
onGetSearchResult([Link],
[Link], String, @IntRange(from=0) int,
@IntRange(from=1) int, @Nullable
[Link]);
method public default
[Link]<[Link]
esult<[Link]>>
onSearch([Link],
[Link], String, @Nullable
[Link]);
method public default
[Link]<[Link]
esult<[Link]>>
onSubscribe([Link],
[Link], String, @Nullable
[Link]);
method public default
[Link]<[Link]
esult<[Link]>>
onUnsubscribe([Link],
[Link], String);
}
public final class MediaNotification {
ctor public MediaNotification(@IntRange(from=1) int, [Link]);
field public final [Link] notification;
field @IntRange(from=1) public final int notificationId;
}
@[Link] public class MediaSession {
method public final void
broadcastCustomCommand([Link], [Link]);
method public final
[Link]<[Link]>
getConnectedControllers();
method @Nullable public final
[Link]
getControllerForCurrentRequest();
method public final String getId();
method public final [Link] getPlayer();
method @Nullable public final [Link] getSessionActivity();
method public final [Link] getToken();
method public final void release();
method public final
[Link]<[Link]
esult> sendCustomCommand([Link],
[Link], [Link]);
method public final void
setAvailableCommands([Link],
[Link], [Link]);
method public final
[Link]<[Link]
esult> setCustomLayout([Link],
[Link]<[Link]>);
method public final void
setCustomLayout([Link]<[Link]>);
method public final void setPlayer([Link]);
method public final void setSessionExtras([Link]);
method public final void
setSessionExtras([Link],
[Link]);
}
public static final class [Link] {
ctor public [Link]([Link],
[Link]);
method public [Link] build();
method public [Link]
setCallback([Link]);
method public [Link]
setExtras([Link]);
method public [Link] setId(String);
method public [Link]
setSessionActivity([Link]);
}
public static interface [Link] {
method public default
[Link]<[Link]<androidx.media3.c
[Link]>> onAddMediaItems([Link],
[Link],
[Link]<[Link]>);
method public default [Link]
onConnect([Link],
[Link]);
method public default
[Link]<[Link]
esult> onCustomCommand([Link],
[Link],
[Link], [Link]);
method public default void onDisconnected([Link],
[Link]);
method @Deprecated @[Link] public default
int onPlayerCommandRequest([Link],
[Link],
@[Link] int);
method public default void onPostConnect([Link],
[Link]);
method public default
[Link]<[Link]
esult> onSetRating([Link],
[Link],
[Link]);
method public default
[Link]<[Link]
esult> onSetRating([Link],
[Link], String,
[Link]);
}
public static final class [Link] {
method public static [Link]
accept([Link],
[Link]);
method public static [Link]
reject();
field public final [Link]
availablePlayerCommands;
field public final [Link]
availableSessionCommands;
field public final boolean isAccepted;
}
public static final class [Link] {
method public [Link] getConnectionHints();
method public int getControllerVersion();
method public String getPackageName();
method public int getUid();
field public static final String LEGACY_CONTROLLER_PACKAGE_NAME =
"[Link]";
field public static final int LEGACY_CONTROLLER_VERSION = 0; // 0x0
}
public abstract class MediaSessionService extends [Link] {
ctor public MediaSessionService();
method public final void addSession([Link]);
method public final [Link]<[Link]>
getSessions();
method public final boolean
isSessionAdded([Link]);
method @CallSuper @Nullable public [Link] onBind(@Nullable
[Link]);
method @Nullable public abstract [Link]
onGetSession([Link]);
method @Deprecated public void
onUpdateNotification([Link]);
method public void onUpdateNotification([Link],
boolean);
method public final void removeSession([Link]);
field public static final String SERVICE_INTERFACE =
"[Link]";
}
public final class SessionCommand {
ctor public SessionCommand(@[Link]
int);
ctor public SessionCommand(String, [Link]);
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_SESSION_SET_RATING = 40010; //
0x9c4a
field @[Link] public final int
commandCode;
field public final String customAction;
field public final [Link] customExtras;
}
@IntDef({[Link].COMMAND_CODE_CUSTOM,
[Link].COMMAND_CODE_SESSION_SET_RATING,
[Link].COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT,
[Link].COMMAND_CODE_LIBRARY_SUBSCRIBE,
[Link].COMMAND_CODE_LIBRARY_UNSUBSCRIBE,
[Link].COMMAND_CODE_LIBRARY_GET_CHILDREN,
[Link].COMMAND_CODE_LIBRARY_GET_ITEM,
[Link].COMMAND_CODE_LIBRARY_SEARCH,
[Link].COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
public final class SessionCommands {
method public [Link] buildUpon();
method public boolean contains([Link]);
method public boolean
contains(@[Link] int);
field public static final [Link] EMPTY;
field public final
[Link]<[Link]>
commands;
}
public static final class [Link] {
ctor public [Link]();
method public [Link]
add([Link]);
method public [Link]
add(@[Link] int);
method public [Link]
addSessionCommands([Link]<[Link]>);
method public [Link] build();
method public [Link]
remove([Link]);
method public [Link]
remove(@[Link] int);
}
public final class SessionResult {
ctor public SessionResult(@[Link] int);
ctor public SessionResult(@[Link] int,
[Link]);
field public static final int RESULT_ERROR_BAD_VALUE = -3; // 0xfffffffd
field public static final int RESULT_ERROR_INVALID_STATE = -2; // 0xfffffffe
field public static final int RESULT_ERROR_IO = -5; // 0xfffffffb
field public static final int RESULT_ERROR_NOT_SUPPORTED = -6; // 0xfffffffa
field public static final int RESULT_ERROR_PERMISSION_DENIED = -4; //
0xfffffffc
field public static final int RESULT_ERROR_SESSION_AUTHENTICATION_EXPIRED = -
102; // 0xffffff9a
field public static final int RESULT_ERROR_SESSION_CONCURRENT_STREAM_LIMIT = -
104; // 0xffffff98
field public static final int RESULT_ERROR_SESSION_DISCONNECTED = -100; //
0xffffff9c
field public static final int RESULT_ERROR_SESSION_NOT_AVAILABLE_IN_REGION = -
106; // 0xffffff96
field public static final int RESULT_ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED
= -105; // 0xffffff97
field public static final int RESULT_ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED = -
103; // 0xffffff99
field public static final int RESULT_ERROR_SESSION_SETUP_REQUIRED = -108; //
0xffffff94
field public static final int RESULT_ERROR_SESSION_SKIP_LIMIT_REACHED = -
107; // 0xffffff95
field public static final int RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
field public static final int RESULT_INFO_SKIPPED = 1; // 0x1
field public static final int RESULT_SUCCESS = 0; // 0x0
field public final long completionTimeMs;
field public final [Link] extras;
field @[Link] public final int resultCode;
}
@IntDef({[Link].RESULT_SUCCESS,
[Link].INFO_CANCELLED,
[Link].ERROR_UNKNOWN,
[Link].ERROR_INVALID_STATE,
[Link].ERROR_BAD_VALUE,
[Link].ERROR_PERMISSION_DENIED,
[Link].ERROR_IO,
[Link].ERROR_SESSION_DISCONNECTED,
[Link].ERROR_NOT_SUPPORTED,
[Link].ERROR_SESSION_AUTHENTICATION_EXPIRED,
[Link].ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED,
[Link].ERROR_SESSION_CONCURRENT_STREAM_LIMIT,
[Link].ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED,
[Link].ERROR_SESSION_NOT_AVAILABLE_IN_REGION,
[Link].ERROR_SESSION_SKIP_LIMIT_REACHED,
[Link].ERROR_SESSION_SETUP_REQUIRED})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
public final class SessionToken {
ctor public SessionToken([Link],
[Link]);
method public static
[Link]<[Link]>
getAllServiceTokens([Link]);
method public [Link] getExtras();
method public String getPackageName();
method public String getServiceName();
method public int getSessionVersion();
method @[Link] 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
}
@IntDef({[Link].TYPE_SESSION,
[Link].TYPE_SESSION_SERVICE,
[Link].TYPE_LIBRARY_SERVICE})
@[Link]
@[Link]([Link])
@[Link]([Link].TYPE_USE) public
static @interface [Link] {
}
package [Link] {
public class PlayerView extends [Link] implements
[Link] {
ctor public PlayerView([Link]);
ctor public PlayerView([Link], @Nullable
[Link]);
ctor public PlayerView([Link], @Nullable
[Link], int);
method public [Link] getAdViewGroup();
method @Nullable public [Link] getPlayer();
method public boolean getUseController();
method public void onPause();
method public void onResume();
method public void setControllerVisibilityListener(@Nullable
[Link]);
method public void setErrorMessageProvider(@Nullable
[Link]<? super
[Link]>);
method public void setFullscreenButtonClickListener(@Nullable
[Link]);
method public void setPlayer(@Nullable [Link]);
method public void setUseController(boolean);
}
public static interface [Link] {
method public void onVisibilityChanged(int);
}
public static interface [Link] {
method public void onFullscreenButtonClick(boolean);
}