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:
![]() |
Devenez maintenant Media3 Imports:
![]() 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
Media3:

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
Maintenant:

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
Vous voulez des contrôles de lecture? 🕹️

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
Changez-le à ceci:

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:
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:
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
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
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