El SDK nativo para la versión 7.0.1 de Android

En este tema, aprenderá sobre la nueva funcionalidad proporcionada por Brightcove Native SDK para la versión 7.0.1 de Android.

Resumen


El SDK nativo de Brightcove para Android está disponible en una versión principal, la versión 7, que trae cambios importantes en la forma en que se construye. Esta versión incluye una nueva funcionalidad para admitir lo siguiente:

  • Baja latencia para transmisión en vivo de HLS
  • Compatibilidad con Android 12

cambios SDK

Con esta versión de Native SDK para Android, el MediaPlayer La clase ya no es compatible con la reproducción de contenido.

Compatibilidad con Android 12

Native SDK para Android ahora ofrece compatibilidad con Android OS 12, y todas las características de Android 12 deberían funcionar como se esperaba. Brightcove recomienda que revise los cambios en Android 12 y modifique el código de su aplicación según sea necesario.

Para obtener más información, consulte la referencia de la lista de características y cambios de Android 12 .

Actualización de ExoPlayer

El SDK nativo para Android 7 incluye una nueva versión de ExoPlayer, que se actualiza de v2.14.2 a v2.17.1. Revise todas las actualizaciones de los lanzamientos de la biblioteca ExoPlayer .

La mayoría de los cambios de ExoPlayer son manejados internamente por Native SDK para Android, pero hay algunos cambios reflejados en la API pública:

  • La siguiente interfaz ya no requiere un parámetro:
    DrmSession<T extends ExoMediaCrypto>

  • La siguiente interfaz ya no requiere un parámetro:
    ExoPlayerDrmSessionManager<T extends ExoMediaCrypto>

  • El ExoPlayerDrmSessionManager la clase ahora expone un defaulDrmSessionManager objeto que se puede usar en objetos MediaSource para configurar un administrador de sesión DRM

  • En el TrackSelectorHelper clase, el siguiente método está en desuso:
    updateTracksSelectionArray(@Nullable TrackSelectionArray trackSelections)
    y se reemplaza con
    updateTracksGroupInfos(@Nullable ImmutableList trackGroupInfos)

  • En el MediaSourceUtil clase, el siguiente método está en desuso:
    findRenditionUrl(@NonNull HlsMasterPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)
    y se reemplaza con
    findRenditionUrl(@NonNull HlsMultivariantPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)

  • En el ExoAdPlayer clase, el constructor requiere una StyledPlayerView en lugar de un PlayerView

  • La siguiente clase está en desuso:
    DashAudioTrackSelector
    y se reemplaza con
    ExoPlayerVideoDisplayComponent.setPeakBitrate(int)

  • La siguiente clase está en desuso:
    DashPeakBitRateTrackSelector
    y se reemplaza con
    ExoPlayerVideoDisplayComponent.setPeakBitrate(int)

  • La siguiente clase está en desuso:
    HLSPeakBitrateTrackSelector
    y se reemplaza con
    ExoPlayerVideoDisplayComponent.setPeakBitrate(int)

Actualizaciones de Gradle y Java

La actualización de ExoPlayer requiere lo siguiente:

  • Gradle 7.4
  • Java 11

Con Native SDK para Android 7, debe actualizar ambas dependencias ambientales.

Cambios de complemento

Con esta versión de Native SDK para Android, hay cambios en algunos de los complementos asociados.

Complemento de transmisión

En el GoogleCastComponent clase, los siguientes métodos ahora devuelven void en lugar de PendingResult <RemoteMediaClient.MediaChannelResult> .

  • loadItem(MediaQueueItem, int)
  • addItems(MediaQueueItem)

Complemento de IMA

La dependencia del SDK de IMA de Google se actualizó a 3.27.0. Esta actualización incluye soporte para Android 12.

Complemento SSAI

El SSAIComponent ahora admite el uso de un objeto XML Brightcove VideoCloud VMAP como fuente. Para usar un objeto XML de VideoCloud VMAP como fuente, llame SSAIComponent.processVideo(String vmapXmlString) .