// Signature format: 2.
0
package androidx.media3.common {
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 @androidx.media3.common.AdOverlayInfo.Purpose public final int purpose;
field @Nullable public final String reasonDetail;
field public final android.view.View view;
}
public static final class AdOverlayInfo.Builder {
ctor public AdOverlayInfo.Builder(android.view.View,
@androidx.media3.common.AdOverlayInfo.Purpose int);
method public androidx.media3.common.AdOverlayInfo build();
method public androidx.media3.common.AdOverlayInfo.Builder
setDetailedReason(@Nullable String);
}
@IntDef({androidx.media3.common.AdOverlayInfo.PURPOSE_CONTROLS,
androidx.media3.common.AdOverlayInfo.PURPOSE_CLOSE_AD,
androidx.media3.common.AdOverlayInfo.PURPOSE_OTHER,
androidx.media3.common.AdOverlayInfo.PURPOSE_NOT_VISIBLE})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
AdOverlayInfo.Purpose {
}
public interface AdViewProvider {
method public default java.util.List<androidx.media3.common.AdOverlayInfo>
getAdOverlayInfos();
method @Nullable public android.view.ViewGroup getAdViewGroup();
}
public final class AudioAttributes {
method public androidx.media3.common.AudioAttributes.AudioAttributesV21
getAudioAttributesV21();
field public static final androidx.media3.common.AudioAttributes DEFAULT;
field @androidx.media3.common.C.AudioAllowedCapturePolicy public final int
allowedCapturePolicy;
field @androidx.media3.common.C.AudioContentType public final int contentType;
field @androidx.media3.common.C.AudioFlags public final int flags;
field @androidx.media3.common.C.SpatializationBehavior public final int
spatializationBehavior;
field @androidx.media3.common.C.AudioUsage public final int usage;
}
public static final class AudioAttributes.AudioAttributesV21 {
field public final android.media.AudioAttributes audioAttributes;
}
public static final class AudioAttributes.Builder {
ctor public AudioAttributes.Builder();
method public androidx.media3.common.AudioAttributes build();
method public androidx.media3.common.AudioAttributes.Builder
setAllowedCapturePolicy(@androidx.media3.common.C.AudioAllowedCapturePolicy int);
method public androidx.media3.common.AudioAttributes.Builder
setContentType(@androidx.media3.common.C.AudioContentType int);
method public androidx.media3.common.AudioAttributes.Builder
setFlags(@androidx.media3.common.C.AudioFlags int);
method public androidx.media3.common.AudioAttributes.Builder
setSpatializationBehavior(@androidx.media3.common.C.SpatializationBehavior int);
method public androidx.media3.common.AudioAttributes.Builder
setUsage(@androidx.media3.common.C.AudioUsage 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 java.util.UUID CLEARKEY_UUID;
field public static final java.util.UUID 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 java.util.UUID 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 java.util.UUID 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 java.util.UUID WIDEVINE_UUID;
}
@IntDef({androidx.media3.common.C.ALLOW_CAPTURE_BY_ALL,
androidx.media3.common.C.ALLOW_CAPTURE_BY_NONE,
androidx.media3.common.C.ALLOW_CAPTURE_BY_SYSTEM}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
C.AudioAllowedCapturePolicy {
}
@IntDef({androidx.media3.common.C.AUDIO_CONTENT_TYPE_MOVIE,
androidx.media3.common.C.AUDIO_CONTENT_TYPE_MUSIC,
androidx.media3.common.C.AUDIO_CONTENT_TYPE_SONIFICATION,
androidx.media3.common.C.AUDIO_CONTENT_TYPE_SPEECH,
androidx.media3.common.C.AUDIO_CONTENT_TYPE_UNKNOWN})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
C.AudioContentType {
}
@IntDef(flag=true, value={androidx.media3.common.C.FLAG_AUDIBILITY_ENFORCED})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface C.AudioFlags {
}
@IntDef({androidx.media3.common.C.USAGE_ALARM,
androidx.media3.common.C.USAGE_ASSISTANCE_ACCESSIBILITY,
androidx.media3.common.C.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE,
androidx.media3.common.C.USAGE_ASSISTANCE_SONIFICATION,
androidx.media3.common.C.USAGE_ASSISTANT, androidx.media3.common.C.USAGE_GAME,
androidx.media3.common.C.USAGE_MEDIA, androidx.media3.common.C.USAGE_NOTIFICATION,
androidx.media3.common.C.USAGE_NOTIFICATION_COMMUNICATION_DELAYED,
androidx.media3.common.C.USAGE_NOTIFICATION_COMMUNICATION_INSTANT,
androidx.media3.common.C.USAGE_NOTIFICATION_COMMUNICATION_REQUEST,
androidx.media3.common.C.USAGE_NOTIFICATION_EVENT,
androidx.media3.common.C.USAGE_NOTIFICATION_RINGTONE,
androidx.media3.common.C.USAGE_UNKNOWN,
androidx.media3.common.C.USAGE_VOICE_COMMUNICATION,
androidx.media3.common.C.USAGE_VOICE_COMMUNICATION_SIGNALLING})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface C.AudioUsage {
}
@IntDef({androidx.media3.common.C.CONTENT_TYPE_DASH,
androidx.media3.common.C.CONTENT_TYPE_SS,
androidx.media3.common.C.CONTENT_TYPE_HLS,
androidx.media3.common.C.CONTENT_TYPE_RTSP,
androidx.media3.common.C.CONTENT_TYPE_OTHER}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface C.ContentType
{
}
@IntDef(open=true, value={androidx.media3.common.C.CRYPTO_TYPE_UNSUPPORTED,
androidx.media3.common.C.CRYPTO_TYPE_NONE,
androidx.media3.common.C.CRYPTO_TYPE_FRAMEWORK}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface C.CryptoType {
}
@IntDef(flag=true, value={androidx.media3.common.C.ROLE_FLAG_MAIN,
androidx.media3.common.C.ROLE_FLAG_ALTERNATE,
androidx.media3.common.C.ROLE_FLAG_SUPPLEMENTARY,
androidx.media3.common.C.ROLE_FLAG_COMMENTARY,
androidx.media3.common.C.ROLE_FLAG_DUB,
androidx.media3.common.C.ROLE_FLAG_EMERGENCY,
androidx.media3.common.C.ROLE_FLAG_CAPTION,
androidx.media3.common.C.ROLE_FLAG_SUBTITLE,
androidx.media3.common.C.ROLE_FLAG_SIGN,
androidx.media3.common.C.ROLE_FLAG_DESCRIBES_VIDEO,
androidx.media3.common.C.ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND,
androidx.media3.common.C.ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY,
androidx.media3.common.C.ROLE_FLAG_TRANSCRIBES_DIALOG,
androidx.media3.common.C.ROLE_FLAG_EASY_TO_READ,
androidx.media3.common.C.ROLE_FLAG_TRICK_PLAY,
androidx.media3.common.C.ROLE_FLAG_AUXILIARY}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface C.RoleFlags {
}
@IntDef(flag=true, value={androidx.media3.common.C.SELECTION_FLAG_DEFAULT,
androidx.media3.common.C.SELECTION_FLAG_FORCED,
androidx.media3.common.C.SELECTION_FLAG_AUTOSELECT})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
C.SelectionFlags {
}
@IntDef({androidx.media3.common.C.SPATIALIZATION_BEHAVIOR_AUTO,
androidx.media3.common.C.SPATIALIZATION_BEHAVIOR_NEVER})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface C.SpatializationBehavior {
}
@IntDef(open=true, value={androidx.media3.common.C.TRACK_TYPE_UNKNOWN,
androidx.media3.common.C.TRACK_TYPE_DEFAULT,
androidx.media3.common.C.TRACK_TYPE_AUDIO,
androidx.media3.common.C.TRACK_TYPE_VIDEO,
androidx.media3.common.C.TRACK_TYPE_TEXT,
androidx.media3.common.C.TRACK_TYPE_IMAGE,
androidx.media3.common.C.TRACK_TYPE_METADATA,
androidx.media3.common.C.TRACK_TYPE_CAMERA_MOTION,
androidx.media3.common.C.TRACK_TYPE_NONE}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface C.TrackType {
}
@IntDef(flag=true, value={androidx.media3.common.C.VOLUME_FLAG_SHOW_UI,
androidx.media3.common.C.VOLUME_FLAG_ALLOW_RINGER_MODES,
androidx.media3.common.C.VOLUME_FLAG_PLAY_SOUND,
androidx.media3.common.C.VOLUME_FLAG_REMOVE_SOUND_AND_VIBRATE,
androidx.media3.common.C.VOLUME_FLAG_VIBRATE}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE_USE}) public
static @interface C.VolumeFlags {
}
@IntDef({androidx.media3.common.C.WAKE_MODE_NONE,
androidx.media3.common.C.WAKE_MODE_LOCAL,
androidx.media3.common.C.WAKE_MODE_NETWORK}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface C.WakeMode {
}
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 androidx.media3.common.DeviceInfo UNKNOWN;
field @IntRange(from=0) public final int maxVolume;
field @IntRange(from=0) public final int minVolume;
field @androidx.media3.common.DeviceInfo.PlaybackType public final int
playbackType;
field @Nullable public final String routingControllerId;
}
public static final class DeviceInfo.Builder {
ctor public DeviceInfo.Builder(@androidx.media3.common.DeviceInfo.PlaybackType
int);
method public androidx.media3.common.DeviceInfo build();
method public androidx.media3.common.DeviceInfo.Builder
setMaxVolume(@IntRange(from=0) int);
method public androidx.media3.common.DeviceInfo.Builder
setMinVolume(@IntRange(from=0) int);
method public androidx.media3.common.DeviceInfo.Builder
setRoutingControllerId(@Nullable String);
}
@IntDef({androidx.media3.common.DeviceInfo.PLAYBACK_TYPE_LOCAL,
androidx.media3.common.DeviceInfo.PLAYBACK_TYPE_REMOTE})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface DeviceInfo.PlaybackType {
}
public interface ErrorMessageProvider<T extends java.lang.Throwable> {
method public android.util.Pair<java.lang.Integer,java.lang.String>
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 @androidx.media3.common.C.RoleFlags public final int roleFlags;
field @Nullable public final String sampleMimeType;
field public final int sampleRate;
field @androidx.media3.common.C.SelectionFlags public final int selectionFlags;
field public final int width;
}
public final class HeartRating extends androidx.media3.common.Rating {
ctor public HeartRating();
ctor public HeartRating(boolean);
method public boolean isHeart();
method public boolean isRated();
}
public final class MediaItem {
method public androidx.media3.common.MediaItem.Builder buildUpon();
method public static androidx.media3.common.MediaItem fromUri(android.net.Uri);
method public static androidx.media3.common.MediaItem fromUri(String);
field public static final String DEFAULT_MEDIA_ID = "";
field public static final androidx.media3.common.MediaItem EMPTY;
field public final androidx.media3.common.MediaItem.ClippingConfiguration
clippingConfiguration;
field public final androidx.media3.common.MediaItem.LiveConfiguration
liveConfiguration;
field @Nullable public final
androidx.media3.common.MediaItem.LocalConfiguration localConfiguration;
field public final String mediaId;
field public final androidx.media3.common.MediaMetadata mediaMetadata;
field public final androidx.media3.common.MediaItem.RequestMetadata
requestMetadata;
}
public static final class MediaItem.AdsConfiguration {
method public androidx.media3.common.MediaItem.AdsConfiguration.Builder
buildUpon();
field public final android.net.Uri adTagUri;
field @Nullable public final Object adsId;
}
public static final class MediaItem.AdsConfiguration.Builder {
ctor public MediaItem.AdsConfiguration.Builder(android.net.Uri);
method public androidx.media3.common.MediaItem.AdsConfiguration build();
method public androidx.media3.common.MediaItem.AdsConfiguration.Builder
setAdTagUri(android.net.Uri);
method public androidx.media3.common.MediaItem.AdsConfiguration.Builder
setAdsId(@Nullable Object);
}
public static final class MediaItem.Builder {
ctor public MediaItem.Builder();
method public androidx.media3.common.MediaItem build();
method public androidx.media3.common.MediaItem.Builder
setAdsConfiguration(@Nullable androidx.media3.common.MediaItem.AdsConfiguration);
method public androidx.media3.common.MediaItem.Builder
setClippingConfiguration(androidx.media3.common.MediaItem.ClippingConfiguration);
method public androidx.media3.common.MediaItem.Builder
setDrmConfiguration(@Nullable androidx.media3.common.MediaItem.DrmConfiguration);
method public androidx.media3.common.MediaItem.Builder
setLiveConfiguration(androidx.media3.common.MediaItem.LiveConfiguration);
method public androidx.media3.common.MediaItem.Builder setMediaId(String);
method public androidx.media3.common.MediaItem.Builder
setMediaMetadata(androidx.media3.common.MediaMetadata);
method public androidx.media3.common.MediaItem.Builder setMimeType(@Nullable
String);
method public androidx.media3.common.MediaItem.Builder
setRequestMetadata(androidx.media3.common.MediaItem.RequestMetadata);
method public androidx.media3.common.MediaItem.Builder
setSubtitleConfigurations(java.util.List<androidx.media3.common.MediaItem.SubtitleC
onfiguration>);
method public androidx.media3.common.MediaItem.Builder setTag(@Nullable
Object);
method public androidx.media3.common.MediaItem.Builder setUri(@Nullable
android.net.Uri);
method public androidx.media3.common.MediaItem.Builder setUri(@Nullable
String);
}
public static class MediaItem.ClippingConfiguration {
method public androidx.media3.common.MediaItem.ClippingConfiguration.Builder
buildUpon();
field public static final
androidx.media3.common.MediaItem.ClippingConfiguration 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 MediaItem.ClippingConfiguration.Builder {
ctor public MediaItem.ClippingConfiguration.Builder();
method public androidx.media3.common.MediaItem.ClippingConfiguration build();
method public androidx.media3.common.MediaItem.ClippingConfiguration.Builder
setEndPositionMs(long);
method public androidx.media3.common.MediaItem.ClippingConfiguration.Builder
setRelativeToDefaultPosition(boolean);
method public androidx.media3.common.MediaItem.ClippingConfiguration.Builder
setRelativeToLiveWindow(boolean);
method public androidx.media3.common.MediaItem.ClippingConfiguration.Builder
setStartPositionMs(@IntRange(from=0) long);
method public androidx.media3.common.MediaItem.ClippingConfiguration.Builder
setStartsAtKeyFrame(boolean);
}
public static final class MediaItem.DrmConfiguration {
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
buildUpon();
method @Nullable public byte[] getKeySetId();
field public final boolean forceDefaultLicenseUri;
field public final com.google.common.collect.ImmutableList<java.lang.Integer>
forcedSessionTrackTypes;
field public final
com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String>
licenseRequestHeaders;
field @Nullable public final android.net.Uri licenseUri;
field public final boolean multiSession;
field public final boolean playClearContentWithoutKey;
field public final java.util.UUID scheme;
}
public static final class MediaItem.DrmConfiguration.Builder {
ctor public MediaItem.DrmConfiguration.Builder(java.util.UUID);
method public androidx.media3.common.MediaItem.DrmConfiguration build();
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setForceDefaultLicenseUri(boolean);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setForceSessionsForAudioAndVideoTracks(boolean);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setForcedSessionTrackTypes(java.util.List<java.lang.Integer>);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setKeySetId(@Nullable byte[]);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setLicenseRequestHeaders(java.util.Map<java.lang.String,java.lang.String>);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setLicenseUri(@Nullable android.net.Uri);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setLicenseUri(@Nullable String);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setMultiSession(boolean);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setPlayClearContentWithoutKey(boolean);
method public androidx.media3.common.MediaItem.DrmConfiguration.Builder
setScheme(java.util.UUID);
}
public static final class MediaItem.LiveConfiguration {
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder
buildUpon();
field public static final androidx.media3.common.MediaItem.LiveConfiguration
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 MediaItem.LiveConfiguration.Builder {
ctor public MediaItem.LiveConfiguration.Builder();
method public androidx.media3.common.MediaItem.LiveConfiguration build();
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder
setMaxOffsetMs(long);
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder
setMaxPlaybackSpeed(float);
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder
setMinOffsetMs(long);
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder
setMinPlaybackSpeed(float);
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder
setTargetOffsetMs(long);
}
public static final class MediaItem.LocalConfiguration {
field @Nullable public final androidx.media3.common.MediaItem.AdsConfiguration
adsConfiguration;
field @Nullable public final androidx.media3.common.MediaItem.DrmConfiguration
drmConfiguration;
field @Nullable public final String mimeType;
field public final
com.google.common.collect.ImmutableList<androidx.media3.common.MediaItem.SubtitleCo
nfiguration> subtitleConfigurations;
field @Nullable public final Object tag;
field public final android.net.Uri uri;
}
public static final class MediaItem.RequestMetadata {
method public androidx.media3.common.MediaItem.RequestMetadata.Builder
buildUpon();
field public static final androidx.media3.common.MediaItem.RequestMetadata
EMPTY;
field @Nullable public final android.os.Bundle extras;
field @Nullable public final android.net.Uri mediaUri;
field @Nullable public final String searchQuery;
}
public static final class MediaItem.RequestMetadata.Builder {
ctor public MediaItem.RequestMetadata.Builder();
method public androidx.media3.common.MediaItem.RequestMetadata build();
method public androidx.media3.common.MediaItem.RequestMetadata.Builder
setExtras(@Nullable android.os.Bundle);
method public androidx.media3.common.MediaItem.RequestMetadata.Builder
setMediaUri(@Nullable android.net.Uri);
method public androidx.media3.common.MediaItem.RequestMetadata.Builder
setSearchQuery(@Nullable String);
}
public static class MediaItem.SubtitleConfiguration {
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
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 @androidx.media3.common.C.RoleFlags public final int roleFlags;
field @androidx.media3.common.C.SelectionFlags public final int selectionFlags;
field public final android.net.Uri uri;
}
public static final class MediaItem.SubtitleConfiguration.Builder {
ctor public MediaItem.SubtitleConfiguration.Builder(android.net.Uri);
method public androidx.media3.common.MediaItem.SubtitleConfiguration build();
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
setId(@Nullable String);
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
setLabel(@Nullable String);
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
setLanguage(@Nullable String);
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
setMimeType(@Nullable String);
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
setRoleFlags(@androidx.media3.common.C.RoleFlags int);
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
setSelectionFlags(@androidx.media3.common.C.SelectionFlags int);
method public androidx.media3.common.MediaItem.SubtitleConfiguration.Builder
setUri(android.net.Uri);
}
public final class MediaMetadata {
method public androidx.media3.common.MediaMetadata.Builder buildUpon();
field public static final androidx.media3.common.MediaMetadata 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 @androidx.media3.common.MediaMetadata.PictureType public final
Integer artworkDataType;
field @Nullable public final android.net.Uri 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 android.os.Bundle extras;
field @Deprecated @Nullable @androidx.media3.common.MediaMetadata.FolderType
public final Integer folderType;
field @Nullable public final CharSequence genre;
field @Nullable public final Boolean isBrowsable;
field @Nullable public final Boolean isPlayable;
field @Nullable @androidx.media3.common.MediaMetadata.MediaType public final
Integer mediaType;
field @Nullable public final androidx.media3.common.Rating 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 androidx.media3.common.Rating userRating;
field @Nullable public final CharSequence writer;
}
public static final class MediaMetadata.Builder {
ctor public MediaMetadata.Builder();
method public androidx.media3.common.MediaMetadata build();
method public androidx.media3.common.MediaMetadata.Builder
maybeSetArtworkData(byte[], @androidx.media3.common.MediaMetadata.PictureType int);
method public androidx.media3.common.MediaMetadata.Builder
setAlbumArtist(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setAlbumTitle(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder setArtist(@Nullable
CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setArtworkData(@Nullable byte[], @Nullable
@androidx.media3.common.MediaMetadata.PictureType Integer);
method public androidx.media3.common.MediaMetadata.Builder
setArtworkUri(@Nullable android.net.Uri);
method public androidx.media3.common.MediaMetadata.Builder
setCompilation(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setComposer(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setConductor(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setDescription(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setDiscNumber(@Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setDisplayTitle(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder setExtras(@Nullable
android.os.Bundle);
method @Deprecated public androidx.media3.common.MediaMetadata.Builder
setFolderType(@Nullable @androidx.media3.common.MediaMetadata.FolderType Integer);
method public androidx.media3.common.MediaMetadata.Builder setGenre(@Nullable
CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setIsBrowsable(@Nullable Boolean);
method public androidx.media3.common.MediaMetadata.Builder
setIsPlayable(@Nullable Boolean);
method public androidx.media3.common.MediaMetadata.Builder
setMediaType(@Nullable @androidx.media3.common.MediaMetadata.MediaType Integer);
method public androidx.media3.common.MediaMetadata.Builder
setOverallRating(@Nullable androidx.media3.common.Rating);
method public androidx.media3.common.MediaMetadata.Builder
setRecordingDay(@IntRange(from=1, to=31) @Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setRecordingMonth(@IntRange(from=1, to=12) @Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setRecordingYear(@Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setReleaseDay(@IntRange(from=1, to=31) @Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setReleaseMonth(@IntRange(from=1, to=12) @Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setReleaseYear(@Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder setStation(@Nullable
CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setSubtitle(@Nullable CharSequence);
method public androidx.media3.common.MediaMetadata.Builder setTitle(@Nullable
CharSequence);
method public androidx.media3.common.MediaMetadata.Builder
setTotalDiscCount(@Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setTotalTrackCount(@Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setTrackNumber(@Nullable Integer);
method public androidx.media3.common.MediaMetadata.Builder
setUserRating(@Nullable androidx.media3.common.Rating);
method public androidx.media3.common.MediaMetadata.Builder setWriter(@Nullable
CharSequence);
}
@Deprecated @IntDef({androidx.media3.common.MediaMetadata.FOLDER_TYPE_NONE,
androidx.media3.common.MediaMetadata.FOLDER_TYPE_MIXED,
androidx.media3.common.MediaMetadata.FOLDER_TYPE_TITLES,
androidx.media3.common.MediaMetadata.FOLDER_TYPE_ALBUMS,
androidx.media3.common.MediaMetadata.FOLDER_TYPE_ARTISTS,
androidx.media3.common.MediaMetadata.FOLDER_TYPE_GENRES,
androidx.media3.common.MediaMetadata.FOLDER_TYPE_PLAYLISTS,
androidx.media3.common.MediaMetadata.FOLDER_TYPE_YEARS})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
MediaMetadata.FolderType {
}
@IntDef({androidx.media3.common.MediaMetadata.MEDIA_TYPE_MIXED,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_MUSIC,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_AUDIO_BOOK_CHAPTER,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_PODCAST_EPISODE,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_RADIO_STATION,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_NEWS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_VIDEO,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_TRAILER,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_MOVIE,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_TV_SHOW,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_ALBUM,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_ARTIST,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_GENRE,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_PLAYLIST,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_YEAR,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_AUDIO_BOOK,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_PODCAST,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_TV_CHANNEL,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_TV_SERIES,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_TV_SEASON,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_MIXED,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_ALBUMS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_ARTISTS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_GENRES,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_PLAYLISTS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_YEARS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_AUDIO_BOOKS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_PODCASTS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_TV_CHANNELS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_TV_SERIES,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_TV_SHOWS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_RADIO_STATIONS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_NEWS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_VIDEOS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_TRAILERS,
androidx.media3.common.MediaMetadata.MEDIA_TYPE_FOLDER_MOVIES})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface MediaMetadata.MediaType {
}
@IntDef({androidx.media3.common.MediaMetadata.PICTURE_TYPE_OTHER,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_FILE_ICON,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_FILE_ICON_OTHER,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_FRONT_COVER,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_BACK_COVER,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_LEAFLET_PAGE,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_MEDIA,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_LEAD_ARTIST_PERFORMER,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_ARTIST_PERFORMER,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_CONDUCTOR,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_BAND_ORCHESTRA,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_COMPOSER,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_LYRICIST,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_RECORDING_LOCATION,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_DURING_RECORDING,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_DURING_PERFORMANCE,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_MOVIE_VIDEO_SCREEN_CAPTURE,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_A_BRIGHT_COLORED_FISH,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_ILLUSTRATION,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_BAND_ARTIST_LOGO,
androidx.media3.common.MediaMetadata.PICTURE_TYPE_PUBLISHER_STUDIO_LOGO})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
MediaMetadata.PictureType {
}
public final class MimeTypes {
field public static final String APPLICATION_AIT = "application/vnd.dvb.ait";
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/vnd.ms-
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/vnd.dts";
field public static final String AUDIO_DTS_EXPRESS =
"audio/vnd.dts.hd;profile=lbr";
field public static final String AUDIO_DTS_HD = "audio/vnd.dts.hd";
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 androidx.media3.common.Rating {
ctor public PercentageRating();
ctor public PercentageRating(@FloatRange(from=0, to=100) float);
method public float getPercent();
method public boolean isRated();
}
public class PlaybackException extends java.lang.Exception {
method @CallSuper public boolean errorInfoEquals(@Nullable
androidx.media3.common.PlaybackException);
method public final String getErrorCodeName();
method public static String
getErrorCodeName(@androidx.media3.common.PlaybackException.ErrorCode 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 @androidx.media3.common.PlaybackException.ErrorCode public final int
errorCode;
field public final long timestampMs;
}
@IntDef(open=true,
value={androidx.media3.common.PlaybackException.ERROR_CODE_INVALID_STATE,
androidx.media3.common.PlaybackException.ERROR_CODE_BAD_VALUE,
androidx.media3.common.PlaybackException.ERROR_CODE_PERMISSION_DENIED,
androidx.media3.common.PlaybackException.ERROR_CODE_NOT_SUPPORTED,
androidx.media3.common.PlaybackException.ERROR_CODE_DISCONNECTED,
androidx.media3.common.PlaybackException.ERROR_CODE_AUTHENTICATION_EXPIRED,
androidx.media3.common.PlaybackException.ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED,
androidx.media3.common.PlaybackException.ERROR_CODE_CONCURRENT_STREAM_LIMIT,
androidx.media3.common.PlaybackException.ERROR_CODE_PARENTAL_CONTROL_RESTRICTED,
androidx.media3.common.PlaybackException.ERROR_CODE_NOT_AVAILABLE_IN_REGION,
androidx.media3.common.PlaybackException.ERROR_CODE_SKIP_LIMIT_REACHED,
androidx.media3.common.PlaybackException.ERROR_CODE_SETUP_REQUIRED,
androidx.media3.common.PlaybackException.ERROR_CODE_END_OF_PLAYLIST,
androidx.media3.common.PlaybackException.ERROR_CODE_CONTENT_ALREADY_PLAYING,
androidx.media3.common.PlaybackException.ERROR_CODE_UNSPECIFIED,
androidx.media3.common.PlaybackException.ERROR_CODE_REMOTE_ERROR,
androidx.media3.common.PlaybackException.ERROR_CODE_BEHIND_LIVE_WINDOW,
androidx.media3.common.PlaybackException.ERROR_CODE_TIMEOUT,
androidx.media3.common.PlaybackException.ERROR_CODE_FAILED_RUNTIME_CHECK,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_UNSPECIFIED,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_NETWORK_CONNECTION_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_INVALID_HTTP_CONTENT_TYPE,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_BAD_HTTP_STATUS,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_FILE_NOT_FOUND,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_NO_PERMISSION,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED,
androidx.media3.common.PlaybackException.ERROR_CODE_IO_READ_POSITION_OUT_OF_RANGE,
androidx.media3.common.PlaybackException.ERROR_CODE_PARSING_CONTAINER_MALFORMED,
androidx.media3.common.PlaybackException.ERROR_CODE_PARSING_MANIFEST_MALFORMED,
androidx.media3.common.PlaybackException.ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED,
androidx.media3.common.PlaybackException.ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED,
androidx.media3.common.PlaybackException.ERROR_CODE_DECODER_INIT_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_DECODER_QUERY_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_DECODING_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_DECODING_FORMAT_EXCEEDS_CAPABIL
ITIES,
androidx.media3.common.PlaybackException.ERROR_CODE_DECODING_FORMAT_UNSUPPORTED,
androidx.media3.common.PlaybackException.ERROR_CODE_AUDIO_TRACK_INIT_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_AUDIO_TRACK_WRITE_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_AUDIO_TRACK_OFFLOAD_INIT_FAILED
,
androidx.media3.common.PlaybackException.ERROR_CODE_AUDIO_TRACK_OFFLOAD_WRITE_FAILE
D, androidx.media3.common.PlaybackException.ERROR_CODE_DRM_UNSPECIFIED,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_SCHEME_UNSUPPORTED,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_PROVISIONING_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_CONTENT_ERROR,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_LICENSE_ACQUISITION_FAILED,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_DISALLOWED_OPERATION,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_SYSTEM_ERROR,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_DEVICE_REVOKED,
androidx.media3.common.PlaybackException.ERROR_CODE_DRM_LICENSE_EXPIRED})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
PlaybackException.ErrorCode {
}
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 androidx.media3.common.PlaybackParameters
withSpeed(@FloatRange(from=0, fromInclusive=false) float);
field public static final androidx.media3.common.PlaybackParameters DEFAULT;
field public final float pitch;
field public final float speed;
}
public interface Player {
method public void addListener(androidx.media3.common.Player.Listener);
method public void addMediaItem(androidx.media3.common.MediaItem);
method public void addMediaItem(int, androidx.media3.common.MediaItem);
method public void addMediaItems(int,
java.util.List<androidx.media3.common.MediaItem>);
method public void
addMediaItems(java.util.List<androidx.media3.common.MediaItem>);
method public boolean canAdvertiseSession();
method public void clearMediaItems();
method public void clearVideoSurface();
method public void clearVideoSurface(@Nullable android.view.Surface);
method public void clearVideoSurfaceHolder(@Nullable
android.view.SurfaceHolder);
method public void clearVideoSurfaceView(@Nullable android.view.SurfaceView);
method public void clearVideoTextureView(@Nullable android.view.TextureView);
method @Deprecated public void decreaseDeviceVolume();
method public void decreaseDeviceVolume(@androidx.media3.common.C.VolumeFlags
int);
method public android.os.Looper getApplicationLooper();
method public androidx.media3.common.AudioAttributes getAudioAttributes();
method public androidx.media3.common.Player.Commands 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 androidx.media3.common.text.CueGroup getCurrentCues();
method public long getCurrentLiveOffset();
method @Nullable public androidx.media3.common.MediaItem getCurrentMediaItem();
method public int getCurrentMediaItemIndex();
method public int getCurrentPeriodIndex();
method public long getCurrentPosition();
method public androidx.media3.common.Timeline getCurrentTimeline();
method public androidx.media3.common.Tracks getCurrentTracks();
method public androidx.media3.common.DeviceInfo getDeviceInfo();
method @IntRange(from=0) public int getDeviceVolume();
method public long getDuration();
method public long getMaxSeekToPreviousPosition();
method public androidx.media3.common.MediaItem getMediaItemAt(int);
method public int getMediaItemCount();
method public androidx.media3.common.MediaMetadata getMediaMetadata();
method public int getNextMediaItemIndex();
method public boolean getPlayWhenReady();
method public androidx.media3.common.PlaybackParameters
getPlaybackParameters();
method @androidx.media3.common.Player.State public int getPlaybackState();
method @androidx.media3.common.Player.PlaybackSuppressionReason public int
getPlaybackSuppressionReason();
method @Nullable public androidx.media3.common.PlaybackException
getPlayerError();
method public androidx.media3.common.MediaMetadata getPlaylistMetadata();
method public int getPreviousMediaItemIndex();
method @androidx.media3.common.Player.RepeatMode public int getRepeatMode();
method public long getSeekBackIncrement();
method public long getSeekForwardIncrement();
method public boolean getShuffleModeEnabled();
method public long getTotalBufferedDuration();
method public androidx.media3.common.TrackSelectionParameters
getTrackSelectionParameters();
method public androidx.media3.common.VideoSize 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(@androidx.media3.common.C.VolumeFlags
int);
method public boolean isCommandAvailable(@androidx.media3.common.Player.Command
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(androidx.media3.common.Player.Listener);
method public void removeMediaItem(int);
method public void removeMediaItems(int, int);
method public void replaceMediaItem(int, androidx.media3.common.MediaItem);
method public void replaceMediaItems(int, int,
java.util.List<androidx.media3.common.MediaItem>);
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(androidx.media3.common.AudioAttributes,
boolean);
method @Deprecated public void setDeviceMuted(boolean);
method public void setDeviceMuted(boolean,
@androidx.media3.common.C.VolumeFlags int);
method @Deprecated public void setDeviceVolume(@IntRange(from=0) int);
method public void setDeviceVolume(@IntRange(from=0) int,
@androidx.media3.common.C.VolumeFlags int);
method public void setMediaItem(androidx.media3.common.MediaItem);
method public void setMediaItem(androidx.media3.common.MediaItem, boolean);
method public void setMediaItem(androidx.media3.common.MediaItem, long);
method public void
setMediaItems(java.util.List<androidx.media3.common.MediaItem>);
method public void
setMediaItems(java.util.List<androidx.media3.common.MediaItem>, boolean);
method public void
setMediaItems(java.util.List<androidx.media3.common.MediaItem>, int, long);
method public void setPlayWhenReady(boolean);
method public void
setPlaybackParameters(androidx.media3.common.PlaybackParameters);
method public void setPlaybackSpeed(@FloatRange(from=0, fromInclusive=false)
float);
method public void setPlaylistMetadata(androidx.media3.common.MediaMetadata);
method public void setRepeatMode(@androidx.media3.common.Player.RepeatMode
int);
method public void setShuffleModeEnabled(boolean);
method public void
setTrackSelectionParameters(androidx.media3.common.TrackSelectionParameters);
method public void setVideoSurface(@Nullable android.view.Surface);
method public void setVideoSurfaceHolder(@Nullable android.view.SurfaceHolder);
method public void setVideoSurfaceView(@Nullable android.view.SurfaceView);
method public void setVideoTextureView(@Nullable android.view.TextureView);
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({androidx.media3.common.Player.COMMAND_INVALID,
androidx.media3.common.Player.COMMAND_PLAY_PAUSE,
androidx.media3.common.Player.COMMAND_PREPARE,
androidx.media3.common.Player.COMMAND_STOP,
androidx.media3.common.Player.COMMAND_SEEK_TO_DEFAULT_POSITION,
androidx.media3.common.Player.COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM,
androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM,
androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS,
androidx.media3.common.Player.COMMAND_SEEK_TO_NEXT_MEDIA_ITEM,
androidx.media3.common.Player.COMMAND_SEEK_TO_NEXT,
androidx.media3.common.Player.COMMAND_SEEK_TO_MEDIA_ITEM,
androidx.media3.common.Player.COMMAND_SEEK_BACK,
androidx.media3.common.Player.COMMAND_SEEK_FORWARD,
androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH,
androidx.media3.common.Player.COMMAND_SET_SHUFFLE_MODE,
androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE,
androidx.media3.common.Player.COMMAND_GET_CURRENT_MEDIA_ITEM,
androidx.media3.common.Player.COMMAND_GET_TIMELINE,
androidx.media3.common.Player.COMMAND_GET_MEDIA_ITEMS_METADATA,
androidx.media3.common.Player.COMMAND_GET_METADATA,
androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEMS_METADATA,
androidx.media3.common.Player.COMMAND_SET_PLAYLIST_METADATA,
androidx.media3.common.Player.COMMAND_SET_MEDIA_ITEM,
androidx.media3.common.Player.COMMAND_CHANGE_MEDIA_ITEMS,
androidx.media3.common.Player.COMMAND_GET_AUDIO_ATTRIBUTES,
androidx.media3.common.Player.COMMAND_GET_VOLUME,
androidx.media3.common.Player.COMMAND_GET_DEVICE_VOLUME,
androidx.media3.common.Player.COMMAND_SET_VOLUME,
androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME,
androidx.media3.common.Player.COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS,
androidx.media3.common.Player.COMMAND_ADJUST_DEVICE_VOLUME,
androidx.media3.common.Player.COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS,
androidx.media3.common.Player.COMMAND_SET_AUDIO_ATTRIBUTES,
androidx.media3.common.Player.COMMAND_SET_VIDEO_SURFACE,
androidx.media3.common.Player.COMMAND_GET_TEXT,
androidx.media3.common.Player.COMMAND_SET_TRACK_SELECTION_PARAMETERS,
androidx.media3.common.Player.COMMAND_GET_TRACKS,
androidx.media3.common.Player.COMMAND_RELEASE}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface Player.Command
{
}
public static final class Player.Commands {
method public boolean contains(@androidx.media3.common.Player.Command int);
method public boolean containsAny(@androidx.media3.common.Player.Command
int...);
method @androidx.media3.common.Player.Command public int get(int);
method public int size();
field public static final androidx.media3.common.Player.Commands EMPTY;
}
@IntDef({androidx.media3.common.Player.DISCONTINUITY_REASON_AUTO_TRANSITION,
androidx.media3.common.Player.DISCONTINUITY_REASON_SEEK,
androidx.media3.common.Player.DISCONTINUITY_REASON_SEEK_ADJUSTMENT,
androidx.media3.common.Player.DISCONTINUITY_REASON_SKIP,
androidx.media3.common.Player.DISCONTINUITY_REASON_REMOVE,
androidx.media3.common.Player.DISCONTINUITY_REASON_INTERNAL,
androidx.media3.common.Player.DISCONTINUITY_REASON_SILENCE_SKIP})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Player.DiscontinuityReason {
}
@IntDef({androidx.media3.common.Player.EVENT_TIMELINE_CHANGED,
androidx.media3.common.Player.EVENT_MEDIA_ITEM_TRANSITION,
androidx.media3.common.Player.EVENT_TRACKS_CHANGED,
androidx.media3.common.Player.EVENT_IS_LOADING_CHANGED,
androidx.media3.common.Player.EVENT_PLAYBACK_STATE_CHANGED,
androidx.media3.common.Player.EVENT_PLAY_WHEN_READY_CHANGED,
androidx.media3.common.Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED,
androidx.media3.common.Player.EVENT_IS_PLAYING_CHANGED,
androidx.media3.common.Player.EVENT_REPEAT_MODE_CHANGED,
androidx.media3.common.Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED,
androidx.media3.common.Player.EVENT_PLAYER_ERROR,
androidx.media3.common.Player.EVENT_POSITION_DISCONTINUITY,
androidx.media3.common.Player.EVENT_PLAYBACK_PARAMETERS_CHANGED,
androidx.media3.common.Player.EVENT_AVAILABLE_COMMANDS_CHANGED,
androidx.media3.common.Player.EVENT_MEDIA_METADATA_CHANGED,
androidx.media3.common.Player.EVENT_PLAYLIST_METADATA_CHANGED,
androidx.media3.common.Player.EVENT_SEEK_BACK_INCREMENT_CHANGED,
androidx.media3.common.Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
androidx.media3.common.Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED,
androidx.media3.common.Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED,
androidx.media3.common.Player.EVENT_AUDIO_ATTRIBUTES_CHANGED,
androidx.media3.common.Player.EVENT_AUDIO_SESSION_ID,
androidx.media3.common.Player.EVENT_VOLUME_CHANGED,
androidx.media3.common.Player.EVENT_SKIP_SILENCE_ENABLED_CHANGED,
androidx.media3.common.Player.EVENT_SURFACE_SIZE_CHANGED,
androidx.media3.common.Player.EVENT_VIDEO_SIZE_CHANGED,
androidx.media3.common.Player.EVENT_RENDERED_FIRST_FRAME,
androidx.media3.common.Player.EVENT_CUES,
androidx.media3.common.Player.EVENT_METADATA,
androidx.media3.common.Player.EVENT_DEVICE_INFO_CHANGED,
androidx.media3.common.Player.EVENT_DEVICE_VOLUME_CHANGED})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface Player.Event {
}
public static final class Player.Events {
method public boolean contains(@androidx.media3.common.Player.Event int);
method public boolean containsAny(@androidx.media3.common.Player.Event int...);
method @androidx.media3.common.Player.Event public int get(int);
method public int size();
}
public static interface Player.Listener {
method public default void
onAudioAttributesChanged(androidx.media3.common.AudioAttributes);
method public default void
onAvailableCommandsChanged(androidx.media3.common.Player.Commands);
method public default void onCues(androidx.media3.common.text.CueGroup);
method public default void
onDeviceInfoChanged(androidx.media3.common.DeviceInfo);
method public default void onDeviceVolumeChanged(int, boolean);
method public default void onEvents(androidx.media3.common.Player,
androidx.media3.common.Player.Events);
method public default void onIsLoadingChanged(boolean);
method public default void onIsPlayingChanged(boolean);
method public default void onMaxSeekToPreviousPositionChanged(long);
method public default void onMediaItemTransition(@Nullable
androidx.media3.common.MediaItem,
@androidx.media3.common.Player.MediaItemTransitionReason int);
method public default void
onMediaMetadataChanged(androidx.media3.common.MediaMetadata);
method public default void onPlayWhenReadyChanged(boolean,
@androidx.media3.common.Player.PlayWhenReadyChangeReason int);
method public default void
onPlaybackParametersChanged(androidx.media3.common.PlaybackParameters);
method public default void
onPlaybackStateChanged(@androidx.media3.common.Player.State int);
method public default void
onPlaybackSuppressionReasonChanged(@androidx.media3.common.Player.PlaybackSuppressi
onReason int);
method public default void
onPlayerError(androidx.media3.common.PlaybackException);
method public default void onPlayerErrorChanged(@Nullable
androidx.media3.common.PlaybackException);
method public default void
onPlaylistMetadataChanged(androidx.media3.common.MediaMetadata);
method public default void
onPositionDiscontinuity(androidx.media3.common.Player.PositionInfo,
androidx.media3.common.Player.PositionInfo,
@androidx.media3.common.Player.DiscontinuityReason int);
method public default void onRenderedFirstFrame();
method public default void
onRepeatModeChanged(@androidx.media3.common.Player.RepeatMode 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(androidx.media3.common.Timeline,
@androidx.media3.common.Player.TimelineChangeReason int);
method public default void
onTrackSelectionParametersChanged(androidx.media3.common.TrackSelectionParameters);
method public default void onTracksChanged(androidx.media3.common.Tracks);
method public default void
onVideoSizeChanged(androidx.media3.common.VideoSize);
method public default void onVolumeChanged(float);
}
@IntDef({androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_REPEAT,
androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_AUTO,
androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_SEEK,
androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Player.MediaItemTransitionReason {
}
@IntDef({androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST,
androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS,
androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY,
androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE,
androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM,
androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_SUPPRESSED_TOO_LONG})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Player.PlayWhenReadyChangeReason {
}
@IntDef({androidx.media3.common.Player.PLAYBACK_SUPPRESSION_REASON_NONE,
androidx.media3.common.Player.PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOS
S,
androidx.media3.common.Player.PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_ROUTE,
androidx.media3.common.Player.PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_OUTPUT})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Player.PlaybackSuppressionReason {
}
public static final class Player.PositionInfo {
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({androidx.media3.common.Player.REPEAT_MODE_OFF,
androidx.media3.common.Player.REPEAT_MODE_ONE,
androidx.media3.common.Player.REPEAT_MODE_ALL}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Player.RepeatMode {
}
@IntDef({androidx.media3.common.Player.STATE_IDLE,
androidx.media3.common.Player.STATE_BUFFERING,
androidx.media3.common.Player.STATE_READY,
androidx.media3.common.Player.STATE_ENDED}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface Player.State {
}
@IntDef({androidx.media3.common.Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED,
androidx.media3.common.Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Player.TimelineChangeReason {
}
public abstract class Rating {
method public abstract boolean isRated();
}
public final class StarRating extends androidx.media3.common.Rating {
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 androidx.media3.common.Rating {
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,
androidx.media3.common.Timeline.Period, androidx.media3.common.Timeline.Window,
@androidx.media3.common.Player.RepeatMode int, boolean);
method public int getNextWindowIndex(int,
@androidx.media3.common.Player.RepeatMode int, boolean);
method public final androidx.media3.common.Timeline.Period getPeriod(int,
androidx.media3.common.Timeline.Period);
method public abstract androidx.media3.common.Timeline.Period getPeriod(int,
androidx.media3.common.Timeline.Period, boolean);
method public androidx.media3.common.Timeline.Period getPeriodByUid(Object,
androidx.media3.common.Timeline.Period);
method public abstract int getPeriodCount();
method public final android.util.Pair<java.lang.Object,java.lang.Long>
getPeriodPositionUs(androidx.media3.common.Timeline.Window,
androidx.media3.common.Timeline.Period, int, long);
method @Nullable public final
android.util.Pair<java.lang.Object,java.lang.Long>
getPeriodPositionUs(androidx.media3.common.Timeline.Window,
androidx.media3.common.Timeline.Period, int, long, long);
method public int getPreviousWindowIndex(int,
@androidx.media3.common.Player.RepeatMode int, boolean);
method public abstract Object getUidOfPeriod(int);
method public final androidx.media3.common.Timeline.Window getWindow(int,
androidx.media3.common.Timeline.Window);
method public abstract androidx.media3.common.Timeline.Window getWindow(int,
androidx.media3.common.Timeline.Window, long);
method public abstract int getWindowCount();
method public final boolean isEmpty();
method public final boolean isLastPeriod(int,
androidx.media3.common.Timeline.Period, androidx.media3.common.Timeline.Window,
@androidx.media3.common.Player.RepeatMode int, boolean);
field public static final androidx.media3.common.Timeline EMPTY;
}
public static final class Timeline.Period {
ctor public Timeline.Period();
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 Timeline.Window {
ctor public Timeline.Window();
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 androidx.media3.common.MediaItem.LiveConfiguration
liveConfiguration;
field @Nullable public Object manifest;
field public androidx.media3.common.MediaItem mediaItem;
field public long presentationStartTimeMs;
field public Object uid;
field public long windowStartTimeMs;
}
public final class TrackGroup {
}
public final class TrackSelectionOverride {
ctor public TrackSelectionOverride(androidx.media3.common.TrackGroup, int);
ctor public TrackSelectionOverride(androidx.media3.common.TrackGroup,
java.util.List<java.lang.Integer>);
method @androidx.media3.common.C.TrackType public int getType();
field public final androidx.media3.common.TrackGroup mediaTrackGroup;
field public final com.google.common.collect.ImmutableList<java.lang.Integer>
trackIndices;
}
public class TrackSelectionParameters {
method public androidx.media3.common.TrackSelectionParameters.Builder
buildUpon();
method public static androidx.media3.common.TrackSelectionParameters
fromBundle(android.os.Bundle);
method public static androidx.media3.common.TrackSelectionParameters
getDefaults(android.content.Context);
method @CallSuper public android.os.Bundle toBundle();
field public final com.google.common.collect.ImmutableSet<java.lang.Integer>
disabledTrackTypes;
field public final boolean forceHighestSupportedBitrate;
field public final boolean forceLowestBitrate;
field @androidx.media3.common.C.SelectionFlags 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
com.google.common.collect.ImmutableMap<androidx.media3.common.TrackGroup,androidx.m
edia3.common.TrackSelectionOverride> overrides;
field public final com.google.common.collect.ImmutableList<java.lang.String>
preferredAudioLanguages;
field public final com.google.common.collect.ImmutableList<java.lang.String>
preferredAudioMimeTypes;
field @androidx.media3.common.C.RoleFlags public final int
preferredAudioRoleFlags;
field public final com.google.common.collect.ImmutableList<java.lang.String>
preferredTextLanguages;
field @androidx.media3.common.C.RoleFlags public final int
preferredTextRoleFlags;
field public final com.google.common.collect.ImmutableList<java.lang.String>
preferredVideoMimeTypes;
field @androidx.media3.common.C.RoleFlags 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 TrackSelectionParameters.Builder {
ctor public TrackSelectionParameters.Builder(android.content.Context);
method public androidx.media3.common.TrackSelectionParameters.Builder
addOverride(androidx.media3.common.TrackSelectionOverride);
method public androidx.media3.common.TrackSelectionParameters build();
method public androidx.media3.common.TrackSelectionParameters.Builder
clearOverride(androidx.media3.common.TrackGroup);
method public androidx.media3.common.TrackSelectionParameters.Builder
clearOverrides();
method public androidx.media3.common.TrackSelectionParameters.Builder
clearOverridesOfType(@androidx.media3.common.C.TrackType int);
method public androidx.media3.common.TrackSelectionParameters.Builder
clearVideoSizeConstraints();
method public androidx.media3.common.TrackSelectionParameters.Builder
clearViewportSizeConstraints();
method public androidx.media3.common.TrackSelectionParameters.Builder
setForceHighestSupportedBitrate(boolean);
method public androidx.media3.common.TrackSelectionParameters.Builder
setForceLowestBitrate(boolean);
method public androidx.media3.common.TrackSelectionParameters.Builder
setIgnoredTextSelectionFlags(@androidx.media3.common.C.SelectionFlags int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMaxAudioBitrate(int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMaxAudioChannelCount(int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMaxVideoBitrate(int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMaxVideoFrameRate(int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMaxVideoSize(int, int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMaxVideoSizeSd();
method public androidx.media3.common.TrackSelectionParameters.Builder
setMinVideoBitrate(int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMinVideoFrameRate(int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setMinVideoSize(int, int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setOverrideForType(androidx.media3.common.TrackSelectionOverride);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredAudioLanguage(@Nullable String);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredAudioLanguages(java.lang.String...);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredAudioMimeType(@Nullable String);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredAudioMimeTypes(java.lang.String...);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredAudioRoleFlags(@androidx.media3.common.C.RoleFlags int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredTextLanguage(@Nullable String);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(android.content.Con
text);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredTextLanguages(java.lang.String...);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredTextRoleFlags(@androidx.media3.common.C.RoleFlags int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredVideoMimeType(@Nullable String);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredVideoMimeTypes(java.lang.String...);
method public androidx.media3.common.TrackSelectionParameters.Builder
setPreferredVideoRoleFlags(@androidx.media3.common.C.RoleFlags int);
method public androidx.media3.common.TrackSelectionParameters.Builder
setSelectUndeterminedTextLanguage(boolean);
method public androidx.media3.common.TrackSelectionParameters.Builder
setTrackTypeDisabled(@androidx.media3.common.C.TrackType int, boolean);
method public androidx.media3.common.TrackSelectionParameters.Builder
setViewportSize(int, int, boolean);
method public androidx.media3.common.TrackSelectionParameters.Builder
setViewportSizeToPhysicalDisplaySize(android.content.Context, boolean);
}
public final class Tracks {
method public boolean containsType(@androidx.media3.common.C.TrackType int);
method public
com.google.common.collect.ImmutableList<androidx.media3.common.Tracks.Group>
getGroups();
method public boolean isEmpty();
method public boolean isTypeSelected(@androidx.media3.common.C.TrackType int);
method public boolean isTypeSupported(@androidx.media3.common.C.TrackType int);
method public boolean isTypeSupported(@androidx.media3.common.C.TrackType int,
boolean);
field public static final androidx.media3.common.Tracks EMPTY;
}
public static final class Tracks.Group {
method public androidx.media3.common.TrackGroup getMediaTrackGroup();
method public androidx.media3.common.Format getTrackFormat(int);
method @androidx.media3.common.C.TrackType 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 android.os.Bundle toBundle();
field public final int length;
}
public final class VideoSize {
field public static final androidx.media3.common.VideoSize 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 androidx.media3.common.text {
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 androidx.media3.common.text.Cue 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 android.graphics.Bitmap bitmap;
field public final float bitmapHeight;
field public final float line;
field @androidx.media3.common.text.Cue.AnchorType public final int lineAnchor;
field @androidx.media3.common.text.Cue.LineType public final int lineType;
field @Nullable public final android.text.Layout.Alignment multiRowAlignment;
field public final float position;
field @androidx.media3.common.text.Cue.AnchorType public final int
positionAnchor;
field public final float shearDegrees;
field public final float size;
field @Nullable public final CharSequence text;
field @Nullable public final android.text.Layout.Alignment textAlignment;
field public final float textSize;
field @androidx.media3.common.text.Cue.TextSizeType public final int
textSizeType;
field @androidx.media3.common.text.Cue.VerticalType public final int
verticalType;
field public final int windowColor;
field public final boolean windowColorSet;
}
@IntDef({androidx.media3.common.text.Cue.TYPE_UNSET,
androidx.media3.common.text.Cue.ANCHOR_TYPE_START,
androidx.media3.common.text.Cue.ANCHOR_TYPE_MIDDLE,
androidx.media3.common.text.Cue.ANCHOR_TYPE_END}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface Cue.AnchorType
{
}
@IntDef({androidx.media3.common.text.Cue.TYPE_UNSET,
androidx.media3.common.text.Cue.LINE_TYPE_FRACTION,
androidx.media3.common.text.Cue.LINE_TYPE_NUMBER}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface Cue.LineType {
}
@IntDef({androidx.media3.common.text.Cue.TYPE_UNSET,
androidx.media3.common.text.Cue.TEXT_SIZE_TYPE_FRACTIONAL,
androidx.media3.common.text.Cue.TEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING,
androidx.media3.common.text.Cue.TEXT_SIZE_TYPE_ABSOLUTE})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Cue.TextSizeType {
}
@IntDef({androidx.media3.common.text.Cue.TYPE_UNSET,
androidx.media3.common.text.Cue.VERTICAL_TYPE_RL,
androidx.media3.common.text.Cue.VERTICAL_TYPE_LR}) @java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD,
java.lang.annotation.ElementType.METHOD,
java.lang.annotation.ElementType.PARAMETER,
java.lang.annotation.ElementType.LOCAL_VARIABLE,
java.lang.annotation.ElementType.TYPE_USE}) public static @interface
Cue.VerticalType {
}
public final class CueGroup {
field public final
com.google.common.collect.ImmutableList<androidx.media3.common.text.Cue> cues;
}
package androidx.media3.common.util {
public final class Util {
method public static boolean
checkCleartextTrafficPermitted(androidx.media3.common.MediaItem...);
method @Nullable public static String
getAdaptiveMimeTypeForContentType(@androidx.media3.common.C.ContentType int);
method @Nullable public static java.util.UUID getDrmUuid(String);
method public static boolean handlePauseButtonAction(@Nullable
androidx.media3.common.Player);
method public static boolean handlePlayButtonAction(@Nullable
androidx.media3.common.Player);
method public static boolean handlePlayPauseButtonAction(@Nullable
androidx.media3.common.Player);
method @androidx.media3.common.C.ContentType public static int
inferContentType(android.net.Uri);
method @androidx.media3.common.C.ContentType public static int
inferContentTypeForExtension(String);
method @androidx.media3.common.C.ContentType public static int
inferContentTypeForUriAndMimeType(android.net.Uri, @Nullable String);
method @Deprecated public static boolean
maybeRequestReadExternalStoragePermission(android.app.Activity,
android.net.Uri...);
method @Deprecated public static boolean
maybeRequestReadExternalStoragePermission(android.app.Activity,
androidx.media3.common.MediaItem...);
method public static boolean
maybeRequestReadStoragePermission(android.app.Activity,
androidx.media3.common.MediaItem...);
method
@org.checkerframework.checker.nullness.qual.EnsuresNonNullIf(result=false,
expression="#1") public static boolean shouldShowPlayButton(@Nullable
androidx.media3.common.Player);
}
package androidx.media3.datasource {
public interface DataSource {
}
public static interface DataSource.Factory {
}
public class DataSourceException extends java.io.IOException {
field @androidx.media3.common.PlaybackException.ErrorCode public final int
reason;
}
public final class DefaultDataSource implements
androidx.media3.datasource.DataSource {
}
public static final class DefaultDataSource.Factory implements
androidx.media3.datasource.DataSource.Factory {
ctor public DefaultDataSource.Factory(android.content.Context);
ctor public DefaultDataSource.Factory(android.content.Context,
androidx.media3.datasource.DataSource.Factory);
}
public class DefaultHttpDataSource implements
androidx.media3.datasource.DataSource androidx.media3.datasource.HttpDataSource {
}
public static final class DefaultHttpDataSource.Factory implements
androidx.media3.datasource.HttpDataSource.Factory {
ctor public DefaultHttpDataSource.Factory();
}
public interface HttpDataSource extends androidx.media3.datasource.DataSource {
}
public static final class HttpDataSource.CleartextNotPermittedException extends
androidx.media3.datasource.HttpDataSource.HttpDataSourceException {
}
public static interface HttpDataSource.Factory extends
androidx.media3.datasource.DataSource.Factory {
}
public static class HttpDataSource.HttpDataSourceException extends
androidx.media3.datasource.DataSourceException {
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 @androidx.media3.datasource.HttpDataSource.HttpDataSourceException.Type
public final int type;
}
@IntDef({androidx.media3.datasource.HttpDataSource.HttpDataSourceException.TYPE_OPE
N, androidx.media3.datasource.HttpDataSource.HttpDataSourceException.TYPE_READ,
androidx.media3.datasource.HttpDataSource.HttpDataSourceException.TYPE_CLOSE})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface HttpDataSource.HttpDataSourceException.Type {
}
public static final class HttpDataSource.InvalidContentTypeException extends
androidx.media3.datasource.HttpDataSource.HttpDataSourceException {
field public final String contentType;
}
public static final class HttpDataSource.InvalidResponseCodeException extends
androidx.media3.datasource.HttpDataSource.HttpDataSourceException {
field public final byte[] responseBody;
field public final int responseCode;
field @Nullable public final String responseMessage;
}
package androidx.media3.datasource.cronet {
public class CronetDataSource implements androidx.media3.datasource.DataSource
androidx.media3.datasource.HttpDataSource {
}
public static final class CronetDataSource.Factory implements
androidx.media3.datasource.HttpDataSource.Factory {
ctor public CronetDataSource.Factory(org.chromium.net.CronetEngine,
java.util.concurrent.Executor);
}
public final class CronetUtil {
method @Nullable public static org.chromium.net.CronetEngine
buildCronetEngine(android.content.Context);
}
package androidx.media3.datasource.okhttp {
public class OkHttpDataSource implements androidx.media3.datasource.DataSource
androidx.media3.datasource.HttpDataSource {
}
public static final class OkHttpDataSource.Factory implements
androidx.media3.datasource.HttpDataSource.Factory {
ctor public OkHttpDataSource.Factory(okhttp3.Call.Factory);
}
package androidx.media3.exoplayer {
public final class ExoPlaybackException extends
androidx.media3.common.PlaybackException {
}
public interface ExoPlayer extends androidx.media3.common.Player {
method public void
addAnalyticsListener(androidx.media3.exoplayer.analytics.AnalyticsListener);
method @Nullable public androidx.media3.exoplayer.ExoPlaybackException
getPlayerError();
method public void
removeAnalyticsListener(androidx.media3.exoplayer.analytics.AnalyticsListener);
method public void setHandleAudioBecomingNoisy(boolean);
method public void setWakeMode(@androidx.media3.common.C.WakeMode int);
}
public static final class ExoPlayer.Builder {
ctor public ExoPlayer.Builder(android.content.Context);
method public androidx.media3.exoplayer.ExoPlayer build();
method public androidx.media3.exoplayer.ExoPlayer.Builder
setAudioAttributes(androidx.media3.common.AudioAttributes, boolean);
method public androidx.media3.exoplayer.ExoPlayer.Builder
setHandleAudioBecomingNoisy(boolean);
method public androidx.media3.exoplayer.ExoPlayer.Builder
setMediaSourceFactory(androidx.media3.exoplayer.source.MediaSource.Factory);
method public androidx.media3.exoplayer.ExoPlayer.Builder
setWakeMode(@androidx.media3.common.C.WakeMode int);
}
package androidx.media3.exoplayer.analytics {
public interface AnalyticsListener {
}
package androidx.media3.exoplayer.drm {
public final class FrameworkMediaDrm {
method public static boolean isCryptoSchemeSupported(java.util.UUID);
}
package androidx.media3.exoplayer.ima {
public final class ImaAdsLoader implements
androidx.media3.exoplayer.source.ads.AdsLoader {
method public void release();
method public void setPlayer(@Nullable androidx.media3.common.Player);
}
public static final class ImaAdsLoader.Builder {
ctor public ImaAdsLoader.Builder(android.content.Context);
method public androidx.media3.exoplayer.ima.ImaAdsLoader build();
}
public final class ImaServerSideAdInsertionMediaSource implements
androidx.media3.exoplayer.source.MediaSource {
}
public static final class ImaServerSideAdInsertionMediaSource.AdsLoader {
method public
androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource.AdsLoader.State
release();
method public void setPlayer(androidx.media3.common.Player);
}
public static final class ImaServerSideAdInsertionMediaSource.AdsLoader.Builder {
ctor public
ImaServerSideAdInsertionMediaSource.AdsLoader.Builder(android.content.Context,
androidx.media3.common.AdViewProvider);
method public
androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource.AdsLoader
build();
method public
androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource.AdsLoader.Builder
setAdsLoaderState(androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource
.AdsLoader.State);
}
public static class ImaServerSideAdInsertionMediaSource.AdsLoader.State {
method public static
androidx.media3.exoplayer.ima.ImaServerSideAdInsertionMediaSource.AdsLoader.State
fromBundle(android.os.Bundle);
method public android.os.Bundle toBundle();
}
public static final class ImaServerSideAdInsertionMediaSource.Factory implements
androidx.media3.exoplayer.source.MediaSource.Factory {
ctor public
ImaServerSideAdInsertionMediaSource.Factory(androidx.media3.exoplayer.ima.ImaServer
SideAdInsertionMediaSource.AdsLoader,
androidx.media3.exoplayer.source.MediaSource.Factory);
}
package androidx.media3.exoplayer.source {
public final class DefaultMediaSourceFactory implements
androidx.media3.exoplayer.source.MediaSource.Factory {
ctor public DefaultMediaSourceFactory(android.content.Context);
method public androidx.media3.exoplayer.source.DefaultMediaSourceFactory
clearLocalAdInsertionComponents();
method public androidx.media3.exoplayer.source.DefaultMediaSourceFactory
setDataSourceFactory(androidx.media3.datasource.DataSource.Factory);
method public androidx.media3.exoplayer.source.DefaultMediaSourceFactory
setLocalAdInsertionComponents(androidx.media3.exoplayer.source.ads.AdsLoader.Provid
er, androidx.media3.common.AdViewProvider);
method public androidx.media3.exoplayer.source.DefaultMediaSourceFactory
setServerSideAdInsertionMediaSourceFactory(@Nullable
androidx.media3.exoplayer.source.MediaSource.Factory);
}
public interface MediaSource {
}
public static interface MediaSource.Factory {
}
package androidx.media3.exoplayer.source.ads {
public interface AdsLoader {
method public void release();
method public void setPlayer(@Nullable androidx.media3.common.Player);
}
public static interface AdsLoader.Provider {
method @Nullable public androidx.media3.exoplayer.source.ads.AdsLoader
getAdsLoader(androidx.media3.common.MediaItem.AdsConfiguration);
}
package androidx.media3.exoplayer.util {
public class DebugTextViewHelper {
ctor public DebugTextViewHelper(androidx.media3.exoplayer.ExoPlayer,
android.widget.TextView);
method public final void start();
method public final void stop();
}
public class EventLogger implements
androidx.media3.exoplayer.analytics.AnalyticsListener {
ctor public EventLogger();
ctor public EventLogger(String);
}
package androidx.media3.session {
public final class CommandButton {
field public final CharSequence displayName;
field @DrawableRes public final int iconResId;
field public final boolean isEnabled;
field @androidx.media3.common.Player.Command public final int playerCommand;
field @Nullable public final androidx.media3.session.SessionCommand
sessionCommand;
}
public static final class CommandButton.Builder {
ctor public CommandButton.Builder();
method public androidx.media3.session.CommandButton build();
method public androidx.media3.session.CommandButton.Builder
setDisplayName(CharSequence);
method public androidx.media3.session.CommandButton.Builder
setEnabled(boolean);
method public androidx.media3.session.CommandButton.Builder
setExtras(android.os.Bundle);
method public androidx.media3.session.CommandButton.Builder
setIconResId(@DrawableRes int);
method public androidx.media3.session.CommandButton.Builder
setPlayerCommand(@androidx.media3.common.Player.Command int);
method public androidx.media3.session.CommandButton.Builder
setSessionCommand(androidx.media3.session.SessionCommand);
}
public final class LibraryResult<V> {
method public static <V> androidx.media3.session.LibraryResult<V>
ofError(@androidx.media3.session.LibraryResult.Code int);
method public static <V> androidx.media3.session.LibraryResult<V>
ofError(@androidx.media3.session.LibraryResult.Code int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public static
androidx.media3.session.LibraryResult<androidx.media3.common.MediaItem>
ofItem(androidx.media3.common.MediaItem, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public static
androidx.media3.session.LibraryResult<com.google.common.collect.ImmutableList<andro
idx.media3.common.MediaItem>>
ofItemList(java.util.List<androidx.media3.common.MediaItem>, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public static androidx.media3.session.LibraryResult<java.lang.Void>
ofVoid();
method public static androidx.media3.session.LibraryResult<java.lang.Void>
ofVoid(@Nullable androidx.media3.session.MediaLibraryService.LibraryParams);
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
androidx.media3.session.MediaLibraryService.LibraryParams params;
field @androidx.media3.session.LibraryResult.Code public final int resultCode;
field @Nullable public final V value;
}
@IntDef({androidx.media3.session.LibraryResult.RESULT_SUCCESS,
androidx.media3.session.SessionError.INFO_CANCELLED,
androidx.media3.session.SessionError.ERROR_UNKNOWN,
androidx.media3.session.SessionError.ERROR_INVALID_STATE,
androidx.media3.session.SessionError.ERROR_BAD_VALUE,
androidx.media3.session.SessionError.ERROR_PERMISSION_DENIED,
androidx.media3.session.SessionError.ERROR_IO,
androidx.media3.session.SessionError.ERROR_SESSION_DISCONNECTED,
androidx.media3.session.SessionError.ERROR_NOT_SUPPORTED,
androidx.media3.session.SessionError.ERROR_SESSION_AUTHENTICATION_EXPIRED,
androidx.media3.session.SessionError.ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED,
androidx.media3.session.SessionError.ERROR_SESSION_CONCURRENT_STREAM_LIMIT,
androidx.media3.session.SessionError.ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED,
androidx.media3.session.SessionError.ERROR_SESSION_NOT_AVAILABLE_IN_REGION,
androidx.media3.session.SessionError.ERROR_SESSION_SKIP_LIMIT_REACHED,
androidx.media3.session.SessionError.ERROR_SESSION_SETUP_REQUIRED})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface LibraryResult.Code {
}
public final class MediaBrowser extends androidx.media3.session.MediaController {
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<com.google.common.collect.ImmutableList<androidx.media3.common.MediaItem>>>
getChildren(String, @IntRange(from=0) int, @IntRange(from=1) int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<androidx.media3.common.MediaItem>> getItem(String);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<androidx.media3.common.MediaItem>> getLibraryRoot(@Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<com.google.common.collect.ImmutableList<androidx.media3.common.MediaItem>>>
getSearchResult(String, @IntRange(from=0) int, @IntRange(from=1) int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<java.lang.Void>> search(String, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<java.lang.Void>> subscribe(String, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<java.lang.Void>> unsubscribe(String);
}
public static final class MediaBrowser.Builder {
ctor public MediaBrowser.Builder(android.content.Context,
androidx.media3.session.SessionToken);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.MediaBro
wser> buildAsync();
method public androidx.media3.session.MediaBrowser.Builder
setApplicationLooper(android.os.Looper);
method public androidx.media3.session.MediaBrowser.Builder
setConnectionHints(android.os.Bundle);
method public androidx.media3.session.MediaBrowser.Builder
setListener(androidx.media3.session.MediaBrowser.Listener);
}
public static interface MediaBrowser.Listener extends
androidx.media3.session.MediaController.Listener {
method public default void
onChildrenChanged(androidx.media3.session.MediaBrowser, String, @IntRange(from=0)
int, @Nullable androidx.media3.session.MediaLibraryService.LibraryParams);
method public default void
onSearchResultChanged(androidx.media3.session.MediaBrowser, String,
@IntRange(from=0) int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
}
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 =
"android.media.extras.ERROR_RESOLUTION_ACTION_INTENT";
field public static final String
EXTRAS_KEY_ERROR_RESOLUTION_ACTION_LABEL_COMPAT =
"android.media.extras.ERROR_RESOLUTION_ACTION_LABEL";
field public static final String EXTRAS_KEY_SLOT_RESERVATION_SEEK_TO_NEXT =
"android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_NEXT";
field public static final String EXTRAS_KEY_SLOT_RESERVATION_SEEK_TO_PREV =
"android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS";
}
@com.google.errorprone.annotations.DoNotMock public class MediaController
implements androidx.media3.common.Player {
method public final void addListener(androidx.media3.common.Player.Listener);
method public final void addMediaItem(androidx.media3.common.MediaItem);
method public final void addMediaItem(int, androidx.media3.common.MediaItem);
method public final void addMediaItems(int,
java.util.List<androidx.media3.common.MediaItem>);
method public final void
addMediaItems(java.util.List<androidx.media3.common.MediaItem>);
method public final boolean canAdvertiseSession();
method public final void clearMediaItems();
method public final void clearVideoSurface();
method public final void clearVideoSurface(@Nullable android.view.Surface);
method public final void clearVideoSurfaceHolder(@Nullable
android.view.SurfaceHolder);
method public final void clearVideoSurfaceView(@Nullable
android.view.SurfaceView);
method public final void clearVideoTextureView(@Nullable
android.view.TextureView);
method @Deprecated public final void decreaseDeviceVolume();
method public final void
decreaseDeviceVolume(@androidx.media3.common.C.VolumeFlags int);
method public final android.os.Looper getApplicationLooper();
method public final androidx.media3.common.AudioAttributes
getAudioAttributes();
method public final androidx.media3.common.Player.Commands
getAvailableCommands();
method public final androidx.media3.session.SessionCommands
getAvailableSessionCommands();
method @IntRange(from=0, to=100) public final int getBufferedPercentage();
method public final long getBufferedPosition();
method @Nullable public final androidx.media3.session.SessionToken
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 androidx.media3.common.text.CueGroup getCurrentCues();
method public final long getCurrentLiveOffset();
method @Nullable public final androidx.media3.common.MediaItem
getCurrentMediaItem();
method public final int getCurrentMediaItemIndex();
method public final int getCurrentPeriodIndex();
method public final long getCurrentPosition();
method public final androidx.media3.common.Timeline getCurrentTimeline();
method public final androidx.media3.common.Tracks getCurrentTracks();
method public final androidx.media3.common.DeviceInfo getDeviceInfo();
method @IntRange(from=0) public final int getDeviceVolume();
method public final long getDuration();
method public final long getMaxSeekToPreviousPosition();
method public final androidx.media3.common.MediaItem getMediaItemAt(int);
method public final int getMediaItemCount();
method public final androidx.media3.common.MediaMetadata getMediaMetadata();
method public final int getNextMediaItemIndex();
method public final boolean getPlayWhenReady();
method public final androidx.media3.common.PlaybackParameters
getPlaybackParameters();
method @androidx.media3.common.Player.State public final int
getPlaybackState();
method @androidx.media3.common.Player.PlaybackSuppressionReason public final
int getPlaybackSuppressionReason();
method @Nullable public final androidx.media3.common.PlaybackException
getPlayerError();
method public final androidx.media3.common.MediaMetadata getPlaylistMetadata();
method public final int getPreviousMediaItemIndex();
method @androidx.media3.common.Player.RepeatMode public final int
getRepeatMode();
method public final long getSeekBackIncrement();
method public final long getSeekForwardIncrement();
method @Nullable public final android.app.PendingIntent getSessionActivity();
method public final boolean getShuffleModeEnabled();
method public final long getTotalBufferedDuration();
method public final androidx.media3.common.TrackSelectionParameters
getTrackSelectionParameters();
method public final androidx.media3.common.VideoSize 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(@androidx.media3.common.C.VolumeFlags int);
method public final boolean
isCommandAvailable(@androidx.media3.common.Player.Command 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(androidx.media3.session.SessionCommand);
method public final boolean
isSessionCommandAvailable(@androidx.media3.session.SessionCommand.CommandCode 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(java.util.concurrent.Future<? extends
androidx.media3.session.MediaController>);
method public final void
removeListener(androidx.media3.common.Player.Listener);
method public final void removeMediaItem(int);
method public final void removeMediaItems(int, int);
method public final void replaceMediaItem(int,
androidx.media3.common.MediaItem);
method public final void replaceMediaItems(int, int,
java.util.List<androidx.media3.common.MediaItem>);
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
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> sendCustomCommand(androidx.media3.session.SessionCommand,
android.os.Bundle);
method public final void
setAudioAttributes(androidx.media3.common.AudioAttributes, boolean);
method @Deprecated public final void setDeviceMuted(boolean);
method public final void setDeviceMuted(boolean,
@androidx.media3.common.C.VolumeFlags int);
method @Deprecated public final void setDeviceVolume(@IntRange(from=0) int);
method public final void setDeviceVolume(@IntRange(from=0) int,
@androidx.media3.common.C.VolumeFlags int);
method public final void setMediaItem(androidx.media3.common.MediaItem);
method public final void setMediaItem(androidx.media3.common.MediaItem,
boolean);
method public final void setMediaItem(androidx.media3.common.MediaItem, long);
method public final void
setMediaItems(java.util.List<androidx.media3.common.MediaItem>);
method public final void
setMediaItems(java.util.List<androidx.media3.common.MediaItem>, boolean);
method public final void
setMediaItems(java.util.List<androidx.media3.common.MediaItem>, int, long);
method public final void setPlayWhenReady(boolean);
method public final void
setPlaybackParameters(androidx.media3.common.PlaybackParameters);
method public final void setPlaybackSpeed(float);
method public final void
setPlaylistMetadata(androidx.media3.common.MediaMetadata);
method public final
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> setRating(androidx.media3.common.Rating);
method public final
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> setRating(String, androidx.media3.common.Rating);
method public final void
setRepeatMode(@androidx.media3.common.Player.RepeatMode int);
method public final void setShuffleModeEnabled(boolean);
method public final void
setTrackSelectionParameters(androidx.media3.common.TrackSelectionParameters);
method public final void setVideoSurface(@Nullable android.view.Surface);
method public final void setVideoSurfaceHolder(@Nullable
android.view.SurfaceHolder);
method public final void setVideoSurfaceView(@Nullable
android.view.SurfaceView);
method public final void setVideoTextureView(@Nullable
android.view.TextureView);
method public final void setVolume(@FloatRange(from=0, to=1) float);
method public final void stop();
}
public static final class MediaController.Builder {
ctor public MediaController.Builder(android.content.Context,
androidx.media3.session.SessionToken);
method public
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.MediaCon
troller> buildAsync();
method public androidx.media3.session.MediaController.Builder
setApplicationLooper(android.os.Looper);
method public androidx.media3.session.MediaController.Builder
setConnectionHints(android.os.Bundle);
method public androidx.media3.session.MediaController.Builder
setListener(androidx.media3.session.MediaController.Listener);
}
public static interface MediaController.Listener {
method public default void
onAvailableSessionCommandsChanged(androidx.media3.session.MediaController,
androidx.media3.session.SessionCommands);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> onCustomCommand(androidx.media3.session.MediaController,
androidx.media3.session.SessionCommand, android.os.Bundle);
method public default void
onDisconnected(androidx.media3.session.MediaController);
method public default void
onExtrasChanged(androidx.media3.session.MediaController, android.os.Bundle);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> onSetCustomLayout(androidx.media3.session.MediaController,
java.util.List<androidx.media3.session.CommandButton>);
}
public abstract class MediaLibraryService extends
androidx.media3.session.MediaSessionService {
ctor public MediaLibraryService();
method @Nullable public abstract
androidx.media3.session.MediaLibraryService.MediaLibrarySession
onGetSession(androidx.media3.session.MediaSession.ControllerInfo);
field public static final String SERVICE_INTERFACE =
"androidx.media3.session.MediaLibraryService";
}
public static final class MediaLibraryService.LibraryParams {
field public final boolean isOffline;
field public final boolean isRecent;
field public final boolean isSuggested;
}
public static final class MediaLibraryService.LibraryParams.Builder {
ctor public MediaLibraryService.LibraryParams.Builder();
method public androidx.media3.session.MediaLibraryService.LibraryParams
build();
method public androidx.media3.session.MediaLibraryService.LibraryParams.Builder
setOffline(boolean);
method public androidx.media3.session.MediaLibraryService.LibraryParams.Builder
setRecent(boolean);
method public androidx.media3.session.MediaLibraryService.LibraryParams.Builder
setSuggested(boolean);
}
public static final class MediaLibraryService.MediaLibrarySession extends
androidx.media3.session.MediaSession {
method public void
notifyChildrenChanged(androidx.media3.session.MediaSession.ControllerInfo, String,
@IntRange(from=0) int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public void notifyChildrenChanged(String, @IntRange(from=0) int,
@Nullable androidx.media3.session.MediaLibraryService.LibraryParams);
method public void
notifySearchResultChanged(androidx.media3.session.MediaSession.ControllerInfo,
String, @IntRange(from=0) int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
}
public static final class MediaLibraryService.MediaLibrarySession.Builder {
ctor public
MediaLibraryService.MediaLibrarySession.Builder(androidx.media3.session.MediaLibrar
yService, androidx.media3.common.Player,
androidx.media3.session.MediaLibraryService.MediaLibrarySession.Callback);
method public androidx.media3.session.MediaLibraryService.MediaLibrarySession
build();
method public
androidx.media3.session.MediaLibraryService.MediaLibrarySession.Builder
setExtras(android.os.Bundle);
method public
androidx.media3.session.MediaLibraryService.MediaLibrarySession.Builder
setId(String);
method public
androidx.media3.session.MediaLibraryService.MediaLibrarySession.Builder
setSessionActivity(android.app.PendingIntent);
}
public static interface MediaLibraryService.MediaLibrarySession.Callback extends
androidx.media3.session.MediaSession.Callback {
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<com.google.common.collect.ImmutableList<androidx.media3.common.MediaItem>>>
onGetChildren(androidx.media3.session.MediaLibraryService.MediaLibrarySession,
androidx.media3.session.MediaSession.ControllerInfo, String, @IntRange(from=0) int,
@IntRange(from=1) int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<androidx.media3.common.MediaItem>>
onGetItem(androidx.media3.session.MediaLibraryService.MediaLibrarySession,
androidx.media3.session.MediaSession.ControllerInfo, String);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<androidx.media3.common.MediaItem>>
onGetLibraryRoot(androidx.media3.session.MediaLibraryService.MediaLibrarySession,
androidx.media3.session.MediaSession.ControllerInfo, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<com.google.common.collect.ImmutableList<androidx.media3.common.MediaItem>>>
onGetSearchResult(androidx.media3.session.MediaLibraryService.MediaLibrarySession,
androidx.media3.session.MediaSession.ControllerInfo, String, @IntRange(from=0) int,
@IntRange(from=1) int, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<java.lang.Void>>
onSearch(androidx.media3.session.MediaLibraryService.MediaLibrarySession,
androidx.media3.session.MediaSession.ControllerInfo, String, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<java.lang.Void>>
onSubscribe(androidx.media3.session.MediaLibraryService.MediaLibrarySession,
androidx.media3.session.MediaSession.ControllerInfo, String, @Nullable
androidx.media3.session.MediaLibraryService.LibraryParams);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.LibraryR
esult<java.lang.Void>>
onUnsubscribe(androidx.media3.session.MediaLibraryService.MediaLibrarySession,
androidx.media3.session.MediaSession.ControllerInfo, String);
}
public final class MediaNotification {
ctor public MediaNotification(@IntRange(from=1) int, android.app.Notification);
field public final android.app.Notification notification;
field @IntRange(from=1) public final int notificationId;
}
@com.google.errorprone.annotations.DoNotMock public class MediaSession {
method public final void
broadcastCustomCommand(androidx.media3.session.SessionCommand, android.os.Bundle);
method public final
java.util.List<androidx.media3.session.MediaSession.ControllerInfo>
getConnectedControllers();
method @Nullable public final
androidx.media3.session.MediaSession.ControllerInfo
getControllerForCurrentRequest();
method public final String getId();
method public final androidx.media3.common.Player getPlayer();
method @Nullable public final android.app.PendingIntent getSessionActivity();
method public final androidx.media3.session.SessionToken getToken();
method public final void release();
method public final
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> sendCustomCommand(androidx.media3.session.MediaSession.ControllerInfo,
androidx.media3.session.SessionCommand, android.os.Bundle);
method public final void
setAvailableCommands(androidx.media3.session.MediaSession.ControllerInfo,
androidx.media3.session.SessionCommands, androidx.media3.common.Player.Commands);
method public final
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> setCustomLayout(androidx.media3.session.MediaSession.ControllerInfo,
java.util.List<androidx.media3.session.CommandButton>);
method public final void
setCustomLayout(java.util.List<androidx.media3.session.CommandButton>);
method public final void setPlayer(androidx.media3.common.Player);
method public final void setSessionExtras(android.os.Bundle);
method public final void
setSessionExtras(androidx.media3.session.MediaSession.ControllerInfo,
android.os.Bundle);
}
public static final class MediaSession.Builder {
ctor public MediaSession.Builder(android.content.Context,
androidx.media3.common.Player);
method public androidx.media3.session.MediaSession build();
method public androidx.media3.session.MediaSession.Builder
setCallback(androidx.media3.session.MediaSession.Callback);
method public androidx.media3.session.MediaSession.Builder
setExtras(android.os.Bundle);
method public androidx.media3.session.MediaSession.Builder setId(String);
method public androidx.media3.session.MediaSession.Builder
setSessionActivity(android.app.PendingIntent);
}
public static interface MediaSession.Callback {
method public default
com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.media3.c
ommon.MediaItem>> onAddMediaItems(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo,
java.util.List<androidx.media3.common.MediaItem>);
method public default androidx.media3.session.MediaSession.ConnectionResult
onConnect(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> onCustomCommand(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo,
androidx.media3.session.SessionCommand, android.os.Bundle);
method public default void onDisconnected(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo);
method @Deprecated @androidx.media3.session.SessionResult.Code public default
int onPlayerCommandRequest(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo,
@androidx.media3.common.Player.Command int);
method public default void onPostConnect(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> onSetRating(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo,
androidx.media3.common.Rating);
method public default
com.google.common.util.concurrent.ListenableFuture<androidx.media3.session.SessionR
esult> onSetRating(androidx.media3.session.MediaSession,
androidx.media3.session.MediaSession.ControllerInfo, String,
androidx.media3.common.Rating);
}
public static final class MediaSession.ConnectionResult {
method public static androidx.media3.session.MediaSession.ConnectionResult
accept(androidx.media3.session.SessionCommands,
androidx.media3.common.Player.Commands);
method public static androidx.media3.session.MediaSession.ConnectionResult
reject();
field public final androidx.media3.common.Player.Commands
availablePlayerCommands;
field public final androidx.media3.session.SessionCommands
availableSessionCommands;
field public final boolean isAccepted;
}
public static final class MediaSession.ControllerInfo {
method public android.os.Bundle getConnectionHints();
method public int getControllerVersion();
method public String getPackageName();
method public int getUid();
field public static final String LEGACY_CONTROLLER_PACKAGE_NAME =
"android.media.session.MediaController";
field public static final int LEGACY_CONTROLLER_VERSION = 0; // 0x0
}
public abstract class MediaSessionService extends android.app.Service {
ctor public MediaSessionService();
method public final void addSession(androidx.media3.session.MediaSession);
method public final java.util.List<androidx.media3.session.MediaSession>
getSessions();
method public final boolean
isSessionAdded(androidx.media3.session.MediaSession);
method @CallSuper @Nullable public android.os.IBinder onBind(@Nullable
android.content.Intent);
method @Nullable public abstract androidx.media3.session.MediaSession
onGetSession(androidx.media3.session.MediaSession.ControllerInfo);
method @Deprecated public void
onUpdateNotification(androidx.media3.session.MediaSession);
method public void onUpdateNotification(androidx.media3.session.MediaSession,
boolean);
method public final void removeSession(androidx.media3.session.MediaSession);
field public static final String SERVICE_INTERFACE =
"androidx.media3.session.MediaSessionService";
}
public final class SessionCommand {
ctor public SessionCommand(@androidx.media3.session.SessionCommand.CommandCode
int);
ctor public SessionCommand(String, android.os.Bundle);
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 @androidx.media3.session.SessionCommand.CommandCode public final int
commandCode;
field public final String customAction;
field public final android.os.Bundle customExtras;
}
@IntDef({androidx.media3.session.SessionCommand.COMMAND_CODE_CUSTOM,
androidx.media3.session.SessionCommand.COMMAND_CODE_SESSION_SET_RATING,
androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT,
androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_SUBSCRIBE,
androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_UNSUBSCRIBE,
androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_GET_CHILDREN,
androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_GET_ITEM,
androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_SEARCH,
androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface SessionCommand.CommandCode {
}
public final class SessionCommands {
method public androidx.media3.session.SessionCommands.Builder buildUpon();
method public boolean contains(androidx.media3.session.SessionCommand);
method public boolean
contains(@androidx.media3.session.SessionCommand.CommandCode int);
field public static final androidx.media3.session.SessionCommands EMPTY;
field public final
com.google.common.collect.ImmutableSet<androidx.media3.session.SessionCommand>
commands;
}
public static final class SessionCommands.Builder {
ctor public SessionCommands.Builder();
method public androidx.media3.session.SessionCommands.Builder
add(androidx.media3.session.SessionCommand);
method public androidx.media3.session.SessionCommands.Builder
add(@androidx.media3.session.SessionCommand.CommandCode int);
method public androidx.media3.session.SessionCommands.Builder
addSessionCommands(java.util.Collection<androidx.media3.session.SessionCommand>);
method public androidx.media3.session.SessionCommands build();
method public androidx.media3.session.SessionCommands.Builder
remove(androidx.media3.session.SessionCommand);
method public androidx.media3.session.SessionCommands.Builder
remove(@androidx.media3.session.SessionCommand.CommandCode int);
}
public final class SessionResult {
ctor public SessionResult(@androidx.media3.session.SessionResult.Code int);
ctor public SessionResult(@androidx.media3.session.SessionResult.Code int,
android.os.Bundle);
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 android.os.Bundle extras;
field @androidx.media3.session.SessionResult.Code public final int resultCode;
}
@IntDef({androidx.media3.session.SessionResult.RESULT_SUCCESS,
androidx.media3.session.SessionError.INFO_CANCELLED,
androidx.media3.session.SessionError.ERROR_UNKNOWN,
androidx.media3.session.SessionError.ERROR_INVALID_STATE,
androidx.media3.session.SessionError.ERROR_BAD_VALUE,
androidx.media3.session.SessionError.ERROR_PERMISSION_DENIED,
androidx.media3.session.SessionError.ERROR_IO,
androidx.media3.session.SessionError.ERROR_SESSION_DISCONNECTED,
androidx.media3.session.SessionError.ERROR_NOT_SUPPORTED,
androidx.media3.session.SessionError.ERROR_SESSION_AUTHENTICATION_EXPIRED,
androidx.media3.session.SessionError.ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED,
androidx.media3.session.SessionError.ERROR_SESSION_CONCURRENT_STREAM_LIMIT,
androidx.media3.session.SessionError.ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED,
androidx.media3.session.SessionError.ERROR_SESSION_NOT_AVAILABLE_IN_REGION,
androidx.media3.session.SessionError.ERROR_SESSION_SKIP_LIMIT_REACHED,
androidx.media3.session.SessionError.ERROR_SESSION_SETUP_REQUIRED})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface SessionResult.Code {
}
public final class SessionToken {
ctor public SessionToken(android.content.Context,
android.content.ComponentName);
method public static
com.google.common.collect.ImmutableSet<androidx.media3.session.SessionToken>
getAllServiceTokens(android.content.Context);
method public android.os.Bundle getExtras();
method public String getPackageName();
method public String getServiceName();
method public int getSessionVersion();
method @androidx.media3.session.SessionToken.TokenType 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({androidx.media3.session.SessionToken.TYPE_SESSION,
androidx.media3.session.SessionToken.TYPE_SESSION_SERVICE,
androidx.media3.session.SessionToken.TYPE_LIBRARY_SERVICE})
@java.lang.annotation.Documented
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) public
static @interface SessionToken.TokenType {
}
package androidx.media3.ui {
public class PlayerView extends android.widget.FrameLayout implements
androidx.media3.common.AdViewProvider {
ctor public PlayerView(android.content.Context);
ctor public PlayerView(android.content.Context, @Nullable
android.util.AttributeSet);
ctor public PlayerView(android.content.Context, @Nullable
android.util.AttributeSet, int);
method public android.view.ViewGroup getAdViewGroup();
method @Nullable public androidx.media3.common.Player getPlayer();
method public boolean getUseController();
method public void onPause();
method public void onResume();
method public void setControllerVisibilityListener(@Nullable
androidx.media3.ui.PlayerView.ControllerVisibilityListener);
method public void setErrorMessageProvider(@Nullable
androidx.media3.common.ErrorMessageProvider<? super
androidx.media3.common.PlaybackException>);
method public void setFullscreenButtonClickListener(@Nullable
androidx.media3.ui.PlayerView.FullscreenButtonClickListener);
method public void setPlayer(@Nullable androidx.media3.common.Player);
method public void setUseController(boolean);
}
public static interface PlayerView.ControllerVisibilityListener {
method public void onVisibilityChanged(int);
}
public static interface PlayerView.FullscreenButtonClickListener {
method public void onFullscreenButtonClick(boolean);
}