Ü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
ExoPlayerDrmSessionManager
Klasse macht jetzt eindefaulDrmSessionManager
Objekt verfügbar, das in MediaSource-Objekten verwendet werden kann, um einen DRM-Sitzungsmanager einzurichten- In der
TrackSelectorHelper
Klasse ist die folgende Methode veraltet:
und wird ersetzt durchupdateTracksSelectionArray(@Nullable TrackSelectionArray trackSelections)
updateTracksGroupInfos(@Nullable ImmutableList
trackGroupInfos)
- In der
MediaSourceUtil
Klasse 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
ExoAdPlayer
Klasse benötigt der Konstruktor einStyledPlayerView
statt einesPlayerView
- Die folgende Klasse ist veraltet:
und wird ersetzt durchDashAudioTrackSelector
ExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- Die folgende Klasse ist veraltet:
und wird ersetzt durchDashPeakBitRateTrackSelector
ExoPlayerVideoDisplayComponent.setPeakBitrate(int)
- Die folgende Klasse ist veraltet:
und wird ersetzt durchHLSPeakBitrateTrackSelector
ExoPlayerVideoDisplayComponent.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)
.