Aggiungi la dipendenza
La libreria Media3 include due moduli UI basati su Jetpack Compose. Non devi aggiungere entrambi perché quello Material3 dipende da quello principale.
Kotlin
// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.9.2")
implementation("androidx.media3:media3-ui-compose-material3:1.9.2")
Groovy
// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.9.2"
implementation "androidx.media3:media3-ui-compose-material3:1.9.2"
Ti consigliamo vivamente di sviluppare la tua app in modalità Compose-first o di eseguire la migrazione dall'utilizzo di Views.
App demo completamente in Compose
Sebbene la libreria media3-ui-compose non includa composable predefiniti (come pulsanti, indicatori, immagini o finestre di dialogo), puoi trovare un'
app demo scritta interamente in Compose che evita qualsiasi soluzione di interoperabilità
come il wrapping di PlayerView in AndroidView. L'app demo
utilizza le classi di gestione dello stato dell'UI del modulo media3-ui-compose e
la libreria Compose Material3.
Quale libreria mi serve?
A seconda del livello di personalizzazione richiesto, puoi scegliere tra due
librerie Media3 Compose. Per capire la differenza, è utile pensare a
alla pipeline di produzione dello stato dell'UI: Business logic → UI logic → UI.
Utilizza media3-ui-compose per il controllo completo dei componenti UI.
Questa libreria fornisce la connessione Business logic → UI logic. Contiene
componenti fondamentali come PlayerSurface e ContentFrame, insieme a
classi di gestione dello stato (ad es. PlayPauseButtonState) che convertono lo stato di Player
in stato dell'UI.
Questa libreria non fornisce componenti Material Design pronti all'uso. Sei responsabile della creazione e dello stile dei tuoi componenti UI. Ti offre il massimo controllo sull'aspetto e sul comportamento, il che lo rende ideale se hai un sistema di progettazione altamente personalizzato.
Utilizza media3-ui-compose-material3 per un'integrazione più rapida con Material
Design.
Questa libreria fornisce la parte UI finale della pipeline. Dipende da
media3-ui-compose e include funzioni composable predefinite con lo stile
dei componenti Material3. Elimina la necessità di creare da zero
pulsanti e altri elementi UI. Puoi comunque personalizzare il tema,
i colori e le icone di questi componenti, ma l'implementazione principale è fornita
per te.
Riepilogo
| Funzionalità | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| Componenti UI | Elementi fondamentali come PlayerSurface e ContentFrame, ma nessun pulsante o controllo con stile predefinito. |
Fornisce un set completo di Composables predefiniti con stile Material3, come PlayPauseButton, SeekBackButton, PositionAndDurationText e così via. |
| Gestione dello stato | Fornisce i gestori remember...State per gestire la logica. |
Gestisce lo stato internamente, ma puoi comunque accedere ai gestori dello stato, se necessario. |
| Dipendenze | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3, com.google.android.material |
| Caso d'uso principale | Creazione di un'UI del player con un sistema di progettazione personalizzato. Controllo completo dell'aspetto e del comportamento. | Creazione rapida di un'UI del player che segue le linee guida di Material Design 3. |