mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00

This adds the API surface for media button preferences in MediaSession and MediaController. It closely mimics the existing custom layout infrastructure (which it will replace eventually). Compat logic: - Session: - When converting to platform custom actions, prefer to use media button preferences if both are set. - When connecting to an older Media3 controller, send the media button preferences as custom layout instead. - Controller: - Maintain a single resolved media button preferences field. - For Media3 controller receiving both values, prefer media button preferences over custom layouts. Missing functionality: - The conversion from/to custom layout and platform custom actions does not take the slot preferences into account yet. PiperOrigin-RevId: 686950100
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.