Le SDK natif pour Android version 7.0.1

Dans cette rubrique, vous découvrirez les nouvelles fonctionnalités offertes par le SDK natif de Brightcove pour Android version 7.0.1.

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 un defaulDrmSessionManager 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 :
    updateTracksSelectionArray(@Nullable TrackSelectionArray trackSelections)
    et est remplacé par
    updateTracksGroupInfos(@Nullable ImmutableList trackGroupInfos)

  • Dans la MediaSourceUtil classe, la méthode suivante est obsolète :
    findRenditionUrl(@NonNull HlsMasterPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)
    et est remplacé par
    findRenditionUrl(@NonNull HlsMultivariantPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)

  • Dans la ExoAdPlayer classe, Le constructeur nécessite un StyledPlayerView au lieu d'un PlayerView

  • La classe suivante est obsolète :
    DashAudioTrackSelector
    et est remplacé par
    ExoPlayerVideoDisplayComponent.setPeakBitrate(int)

  • La classe suivante est obsolète :
    DashPeakBitRateTrackSelector
    et est remplacé par
    ExoPlayerVideoDisplayComponent.setPeakBitrate(int)

  • La classe suivante est obsolète :
    HLSPeakBitrateTrackSelector
    et est remplacé par
    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).