Aperçu
Le SDK natif de Brightcove pour Android est disponible dans une version majeure, la version 7, qui apporte des changements importants dans la façon dont il est construit. Cette version comprend de nouvelles fonctionnalités permettant de prendre en charge les éléments suivants :
- Faible latence pour la diffusion en direct HLS
- Compatibilité Android 12
Changements dans le SDK
Avec cette version du SDK natif pour Android, la MediaPlayer
classe n'est plus prise en charge pour la lecture de contenu.
Compatibilité Android 12
Le SDK natif pour Android est désormais compatible avec Android OS 12, et toutes les fonctionnalités d'Android 12 devraient fonctionner comme prévu. Brightcove vous recommande d'examiner les modifications apportées à Android 12 et de modifier le code de votre application si nécessaire.
Pour plus de détails, voir la référence de la liste des fonctionnalités et changements d'Android 12 .
Mise à jour d'ExoPlayer
Le SDK natif pour Android 7 inclut une nouvelle version de l'ExoPlayer, qui passe de v2.14.2 à v2.17.1. Passez en revue toutes les mises à jour des versions de la bibliothèque ExoPlayer.
La plupart des modifications apportées à ExoPlayer sont gérées en interne par le SDK natif pour Android, mais certains changements sont reflétés dans l'API publique :
- L'interface suivante ne nécessite plus de paramètre :
DrmSession<T extends ExoMediaCrypto>
- L'interface suivante ne nécessite plus de paramètre :
ExoPlayerDrmSessionManager<T extends ExoMediaCrypto>
La
ExoPlayerDrmSessionManager
classe expose désormais undefaulDrmSessionManager
objet qui peut être utilisé dans les objets MediaSource pour définir un gestionnaire de session DRM.- Dans la
TrackSelectorHelper
classe, la méthode suivante est obsolète :
et est remplacé parupdateTracksSelectionArray(@Nullable TrackSelectionArray trackSelections)
updateTracksGroupInfos(@Nullable ImmutableList
trackGroupInfos)
- Dans la
MediaSourceUtil
classe, la méthode suivante est obsolète :
et est remplacé parfindRenditionUrl(@NonNull HlsMasterPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)
findRenditionUrl(@NonNull HlsMultivariantPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)
Dans la
ExoAdPlayer
classe, Le constructeur nécessite unStyledPlayerView
au lieu d'unPlayerView
- La classe suivante est obsolète :
et est remplacé parDashAudioTrackSelector
ExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- La classe suivante est obsolète :
et est remplacé parDashPeakBitRateTrackSelector
ExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- La classe suivante est obsolète :
et est remplacé parHLSPeakBitrateTrackSelector
ExoPlayerVideoDisplayComponent.setPeakBitrate(int)
Gradle et mises à jour Java
La mise à jour de l'ExoPlayer nécessite les éléments suivants :
- Gradle 7.4
- Java 11
Avec le SDK natif pour Android 7, vous devez mettre à jour ces deux dépendances environnementales.
Modifications du plugin
Avec cette version du SDK natif pour Android, des changements ont été apportés à certains des plugins associés.
Plugin Cast
Dans la GoogleCastComponent
classe, les méthodes suivantes renvoient désormais void
au lieu de PendingResult <RemoteMediaClient.MediaChannelResult>
.
loadItem(MediaQueueItem, int)
addItems(MediaQueueItem)
Plugin IMA
La dépendance du SDK Google IMA a été mise à jour vers la version 3.27.0. Cette mise à jour inclut la prise en charge d'Android 12.
Plugin SSAI
SSAIComponent
Il prend désormais en charge l'utilisation d'un objet XML VMAP Brightcove VideoCloud en tant que source. Pour utiliser un objet XML VideoCloud VMAP comme source, appelez SSAIComponent.processVideo(String vmapXmlString)
.