
The first has a string genre, and various other values set, generated from `sample.mp4` with the command below [1]. The second has a numeric genre, to test `gnre` atom parsing. This parsing is currently broken, the fix is in a follow-up change. This file was also generated from `sample.mp4` with the command below [2]. This change also includes `CommentFrame.text` in its `toString` representation, otherwise there's no difference between e.g. different levels of `ITUNESADVISORY` in the extractor dump files. Issue: androidx/media#1305 ----- [1] ```shell $ AP_PADDING="DEFAULT_PAD=0" \ AtomicParsley sample.mp4 \ --artist "Test Artist" \ --album "Test Album" \ --tracknum 2/12 \ --disk 2/3 \ --year 2024 \ --genre "Gorpcore" \ --bpm 120 \ --compilation true \ --advisory clean \ --gapless true \ --sortOrder artist "Sorting Artist" \ --sortOrder album "Sorting Album" \ --preventOptimizing \ -o sample_with_metadata.mp4 ``` [2] ```shell $ AP_PADDING="DEFAULT_PAD=0" \ AtomicParsley sample.mp4 \ --genre "Metal" \ --preventOptimizing \ -o sample_with_numeric_genre.mp4 ``` PiperOrigin-RevId: 628345458
ExoPlayer module
This module provides ExoPlayer
, the Player
implementation for local media
playback on Android.
Getting the module
The easiest way to get the module is to add it as a gradle dependency:
implementation 'androidx.media3:media3-exoplayer:1.X.X'
where 1.X.X
is the version, which must match the version of the other media
modules being used.
Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.