Überblick
Das Brightcove Native SDK für Android ist in der Version 7 verfügbar, die wichtige Änderungen bei der Erstellung des SDKs mit sich bringt. Diese Version enthält neue Funktionen zur Unterstützung der folgenden Punkte:
- Geringe Latenz für HLS-Live-Streaming
- Kompatibilität mit Android 12
SDK-Änderungen
Mit dieser Version des Native SDK für Android wird die MediaPlayer Klasse für die Wiedergabe von Inhalten nicht mehr unterstützt.
Kompatibilität mit Android 12
Das Native SDK für Android bietet jetzt Kompatibilität mit Android OS 12, und alle Funktionen von Android 12 sollten wie erwartet funktionieren. Brightcove empfiehlt, die Änderungen in Android 12 zu überprüfen und den Code Ihrer Anwendung bei Bedarf zu ändern.
Einzelheiten finden Sie in der Referenzliste der Funktionen und Änderungen von Android 12 .
ExoPlayer-Aufrüstung
Das Native SDK für Android 7 enthält eine neue Version des ExoPlayers, die von v2.14.2 auf v2.17.1 aktualisiert wurde. Überprüfen Sie alle Aktualisierungen der ExoPlayer-Bibliotheksversionen.
Die meisten der ExoPlayer-Änderungen werden intern vom Native SDK für Android gehandhabt, aber es gibt auch einige Änderungen, die sich in der öffentlichen API widerspiegeln:
- Die folgende Schnittstelle benötigt keinen Parameter mehr:
DrmSession<T extends ExoMediaCrypto>
- Die folgende Schnittstelle benötigt keinen Parameter mehr:
ExoPlayerDrmSessionManager<T extends ExoMediaCrypto>
Die
ExoPlayerDrmSessionManagerKlasse macht jetzt eindefaulDrmSessionManagerObjekt verfügbar, das in MediaSource-Objekten verwendet werden kann, um einen DRM-Sitzungsmanager einzurichten- In der
TrackSelectorHelperKlasse ist die folgende Methode veraltet:
und wird ersetzt durchupdateTracksSelectionArray(@Nullable TrackSelectionArray trackSelections)updateTracksGroupInfos(@Nullable ImmutableListtrackGroupInfos)
- In der
MediaSourceUtilKlasse ist die folgende Methode veraltet:
und wird ersetzt durchfindRenditionUrl(@NonNull HlsMasterPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)findRenditionUrl(@NonNull HlsMultivariantPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format)
In der
ExoAdPlayerKlasse benötigt der Konstruktor einStyledPlayerViewstatt einesPlayerView- Die folgende Klasse ist veraltet:
und wird ersetzt durchDashAudioTrackSelectorExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- Die folgende Klasse ist veraltet:
und wird ersetzt durchDashPeakBitRateTrackSelectorExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- Die folgende Klasse ist veraltet:
und wird ersetzt durchHLSPeakBitrateTrackSelectorExoPlayerVideoDisplayComponent.setPeakBitrate(int)
Gradle und Java-Upgrades
Für die Aufrüstung des ExoPlayers ist Folgendes erforderlich:
- Gradle 7.4
- Java 11
Mit dem Native SDK für Android 7 müssen Sie diese beiden Umgebungsabhängigkeiten aktualisieren.
Plugin-Änderungen
Mit dieser Version des Native SDK für Android gibt es Änderungen bei einigen der zugehörigen Plugins.
Cast-Plugin
In der GoogleCastComponent Klasse kehren die folgenden Methoden jetzt void statt zurück PendingResult <RemoteMediaClient.MediaChannelResult>.
loadItem(MediaQueueItem, int)addItems(MediaQueueItem)
IMA-Plug-in
Die Google IMA SDK-Abhängigkeit wurde auf 3.27.0 aktualisiert. Dieses Upgrade beinhaltet Unterstützung für Android 12.
SSAI-Plugin
Das unterstützt SSAIComponent jetzt die Verwendung eines Brightcove VideoCloud VMAP-XML-Objekts als Quelle. Um ein VideoCloud-VMAP-XML-Objekt als Quelle zu verwenden, rufen Sie auf SSAIComponent.processVideo(String vmapXmlString).