mirror of
https://github.com/androidx/media.git
synced 2025-05-10 00:59:51 +08:00

MediaController.getContentPosition() estimates the content position based on the last position info sent by the player and the elapsed real-time since the position info was received. After calling MediaController's play/pause/setPlayWhenReady, the position estimation logic is still applying, therefore advancing the position until the underlying player's actual position is received. This can make the MediaController's content position to be out of sync with player's actual content position. With this change, MediaController stops making content position estimations after any of play/pause/setPlayWhenReady is called and until a new position info is received from the underlying player. Tested manually with the the session demo app, pausing/resuming content from the UI. PiperOrigin-RevId: 418000800
Session module
This module provides media session functionality through which media information and controls can be exposed to the Android platform, as well as to other processes and applications.
Getting the module
The easiest way to get the module is to add it as a gradle dependency:
implementation 'androidx.media3:media3-session: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.