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
ExoPlayerDrmSessionManagerclasse expose désormais undefaulDrmSessionManagerobjet qui peut être utilisé dans les objets MediaSource pour définir un gestionnaire de session DRM.- Dans la
TrackSelectorHelperclasse, la méthode suivante est obsolète :
et est remplacé parupdateTracksSelectionArray(@Nullable TrackSelectionArray trackSelections)updateTracksGroupInfos(@Nullable ImmutableListtrackGroupInfos)
- Dans la
MediaSourceUtilclasse, 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
ExoAdPlayerclasse, Le constructeur nécessite unStyledPlayerViewau lieu d'unPlayerView- La classe suivante est obsolète :
et est remplacé parDashAudioTrackSelectorExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- La classe suivante est obsolète :
et est remplacé parDashPeakBitRateTrackSelectorExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- La classe suivante est obsolète :
et est remplacé parHLSPeakBitrateTrackSelectorExoPlayerVideoDisplayComponent.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).