Fermer

avril 2, 2025

Migration de Exoplayer 2 à Media3: A Fun & Practical Guide

Migration de Exoplayer 2 à Media3: A Fun & Practical Guide


Pourquoi migrer? (En plus de Google vous dit de😜)

Google a parlé – Exoplayer 2 est Old News, et Media3 est la nouvelle norme pour la lecture Android Media. C’est modulaire,

Aligné par Jetpack et conçu pour le long terme. Si votre application repose toujours sur Exoplayer 2, cette migration garantit la conception de l’API moderne, une meilleure gestion du cycle de vie et une compatibilité avec les dernières mises à jour d’Android. De plus, qui n’aime pas un nouveau départ?

Plongeons-nous dans les changements clés et comment migrer avec un minimum de maux de tête (et un maximum de plaisir).


Modifications majeures dans Media3 (ce que vous devez savoir)

1. Resqueur du paquet: Out avec l’ancien, avec le nouveau🔄

VOTRE EXOPLAYER 2 IMPORTES:

Exoplayer 2 importations

Devenez maintenant Media3 Imports:

Médias 3 importations

Médias 3 importations

Oui, SimpleExOplayer n’est maintenant que Exoplayer. Simple, non? 😆

2. Initialisation des joueurs (même, mais plus brillant)

Exoplayer 2:

Exoplayer d'initialisation du joueur 2

Exoplayer d’initialisation du joueur

Media3:

Médias d'initialisation des joueurs 3

Médias d’initialisation des joueurs 3

Si vous attendiez quelque chose de bouleversant, désolé. Mais bon, au moins c’est plus propre!

3. Configuration des articles multimédias (un tout petit peu différent)

Avant:

Configuration de l'élément multimédia Exoplayer 2

Configuration de l’élément multimédia Exoplayer 2

Maintenant:

Configuration des médias multimédias Médias 3

Configuration des médias multimédias Médias 3

Vous pouvez maintenant utiliser un constructeur, ce qui facilite l’élargissement des configurations d’élément multimédia.

4. MediaSession et MediaController (car votre application mérite les contrôles du système)

Au lieu de MediaSessionConnector, utilisez MediaSession:

Utiliser la session multimédia dans les médias 3

Utiliser la session multimédia dans les médias 3

Vous voulez des contrôles de lecture? 🕹️

Utiliser le contrôleur multimédia dans les médias 3

Utiliser le contrôleur multimédia dans les médias 3

Plus moderne, plus jetpack-y. 🏎️

5. Composants d’interface utilisateur (oui, vous devez mettre à jour votre XML)

Si votre XML ressemble à ceci:

View de 2 joueurs Exoplayer

View de 2 joueurs Exoplayer

Changez-le à ceci:

Vue des médias 3 joueurs

Vue des médias 3 joueurs

Pas une affaire énorme, mais oubliez cela et votre interface utilisateur ne sera pas heureuse. 😅

6. Manipulation des événements (plus d’événements)

Si vous utilisiez EventListener, mettez à jour vers l’auditeur:

EventListener, mise à jour de l'auditeur:

EventListener, mise à jour de l’auditeur:

C’est plus propre, et cela fonctionne de même. 🧼

7. Sous-titres (maintenant plus élégant)

Configuration des sous-titres dans Exoplayer 2:

Configuration des sous-titres dans Exoplayer 2:

Configuration des sous-titres dans Exoplayer 2:

Dans Media3, mettez simplement à jour le type MIME vers mimetypes.text_vtt pour une meilleure compatibilité. 🎥

8. @unstableapi (manipulez avec soin!)

Certaines API sont maintenant marquées @unstableapi, ce qui signifie que Google pourrait les casser dans une future mise à jour.

@Unstableapi Utilisation

@Unstableapi Utilisation

9. Mises à jour de la dépendance (n’oubliez pas celles-ci! 🛠️)

Assurez-vous que votre build.gradle comprend:

Dépendances des médias 3

Dépendances des médias 3

Sans cela, votre application ne sera pas construite et vous passerez des heures à vous demander pourquoi. ⏳💀


  • Mettez à jour vos importations de packages (com.google.android.exoplayer2 → Androidx.Media3)
  • SimpleExoplayer est maintenant juste Exoplayer (car plus simple est mieux)
  • Media3 utilise les constructeurs pour Mediitem
  • MediaSessionConnector a disparu; Utiliser la médiation
  • PlayerView XML doit être mis à jour
  • Plus d’exo_fullscreen, alors bricolage votre manipulation complète
  • Attention aux avertissements @unstableapi
  • Mettez à jour vos dépendances, ou rien ne fonctionnera. La migration vers Media3 est principalement simple – juste quelques modifications de package, certaines API mises à jour,
    et quelques fonctionnalités manquantes que vous devrez réimplémenter. Mais dans l’ensemble, c’est un plus propre, plus
    Mayage à l’épreuve du temps pour gérer la lecture multimédia dans Android.

Références 📚

Vous avez trouvé cela utile? PARTAGEZ-LE






Source link