forked from androidx/media
-
Notifications
You must be signed in to change notification settings - Fork 0
/
api.txt
1800 lines (1620 loc) · 139 KB
/
api.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Signature format: 3.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 @RequiresApi(21) 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;
}
@RequiresApi(21) 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_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 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}) @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({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 public final int maxVolume;
field public final int minVolume;
field @androidx.media3.common.DeviceInfo.PlaybackType public final int playbackType;
}
@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(String);
method public static androidx.media3.common.MediaItem fromUri(android.net.Uri);
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.SubtitleConfiguration>);
method public androidx.media3.common.MediaItem.Builder setTag(@Nullable Object);
method public androidx.media3.common.MediaItem.Builder setUri(@Nullable String);
method public androidx.media3.common.MediaItem.Builder setUri(@Nullable android.net.Uri);
}
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 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.SubtitleConfiguration> 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 public static final int FOLDER_TYPE_ALBUMS = 2; // 0x2
field public static final int FOLDER_TYPE_ARTISTS = 3; // 0x3
field public static final int FOLDER_TYPE_GENRES = 4; // 0x4
field public static final int FOLDER_TYPE_MIXED = 0; // 0x0
field public static final int FOLDER_TYPE_NONE = -1; // 0xffffffff
field public static final int FOLDER_TYPE_PLAYLISTS = 5; // 0x5
field public static final int FOLDER_TYPE_TITLES = 1; // 0x1
field public static final int FOLDER_TYPE_YEARS = 6; // 0x6
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 @Nullable @androidx.media3.common.MediaMetadata.FolderType public final Integer folderType;
field @Nullable public final CharSequence genre;
field @Nullable public final Boolean isPlayable;
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 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 setIsPlayable(@Nullable Boolean);
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);
}
@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.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 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_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 static String getErrorCodeName(@androidx.media3.common.PlaybackException.ErrorCode int);
method public final String getErrorCodeName();
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_WRITE_FAILED = 5002; // 0x138a
field public static final int ERROR_CODE_BEHIND_LIVE_WINDOW = 1002; // 0x3ea
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_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_FAILED_RUNTIME_CHECK = 1004; // 0x3ec
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_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_REMOTE_ERROR = 1001; // 0x3e9
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_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_CAPABILITIES, 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_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(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(java.util.List<androidx.media3.common.MediaItem>);
method public void addMediaItems(int, 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 public void decreaseDeviceVolume();
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 public void increaseDeviceVolume();
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 seekBack();
method public void seekForward();
method public void seekTo(long);
method public void seekTo(int, 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 setDeviceMuted(boolean);
method public void setDeviceVolume(@IntRange(from=0) int);
method public void setMediaItem(androidx.media3.common.MediaItem);
method public void setMediaItem(androidx.media3.common.MediaItem, long);
method public void setMediaItem(androidx.media3.common.MediaItem, boolean);
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 public static final int COMMAND_ADJUST_DEVICE_VOLUME = 26; // 0x1a
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 public static final int COMMAND_GET_MEDIA_ITEMS_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_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_DEVICE_VOLUME = 25; // 0x19
field public static final int COMMAND_SET_MEDIA_ITEM = 31; // 0x1f
field public static final int COMMAND_SET_MEDIA_ITEMS_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_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 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_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_SET_MEDIA_ITEMS_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_ADJUST_DEVICE_VOLUME, 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}) @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}) @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.PlaybackSuppressionReason 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}) @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_LOSS}) @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);