Überblick
In früheren Versionen des Brightcove Native SDK für Android int Und Integer Datentypen wurden verwendet, um Werte für die Abspielposition (einschließlich Suchposition) und die Videodauer zu verarbeiten.
Mit dem Native SDK für Android Version 6.18.0 haben wir uns an die ExoPlayer Bibliothek für den Umgang mit diesen Werten angepasst. Das Native SDK wurde von der Verwendung int von Integer Datentypen zu long Long Datentypen migriert.
Abschaffung und Ersatz
Diese Migration umfasst zwei Prozesse:
- Verfall der Wertreferenzen „Alle
int“ und „IntegerPlayhead“ auf Position und Dauer in Klassenmitgliedern und Methoden - Erstellung neuer Klassenmitglieder und Methoden mit einem
LongPostfix im Namen
Beispiele
Hier sind einige Beispiele für die Abschaffung und Ersetzung:
In der ExoPlayerVideoDisplayComponent:
- Veraltet:
videoDisplayComponent.getLiveEdge() - Neu:
videoDisplayComponent.getLiveEdgeLong()
In der Video Klasse:
- Veraltet:
video.getDuration() - Neu:
video.getDurationLong()
Voraussetzungen
Für diese Funktion werden die folgenden Anforderungen benötigt:
- Natives Brightcove-SDK für Android 6.18.0 oder höher
Verwendung der neuen Datentypen
Auch wenn das Brightcove Native SDK für Android die Verwendung von Ganzzahltypen weiterhin unterstützt, stellt die Ersetzung dieser Typen eine Sollbruchstelle für neue Versionen dar. Wir empfehlen daher, diese Ersetzungen in Zukunft in Ihren Projekten zu implementieren.
Beispiele
Hier sind einige Beispiele für die neuen Mitglieder und Methoden:
Abspielkopfposition und Videodauer abhören
Map<String, Object> properties = new HashMap<>();
properties.put(Event.PLAYHEAD_POSITION_LONG, exoPlayer.getCurrentPosition());
properties.put(Event.VIDEO, getCurrentVideo());
eventEmitter.emit(EventType.DID_STOP, properties);
Aktuelle Abspielkopfposition abfragen
long position = event.getLongProperty(Event.PLAYHEAD_POSITION_LONG);
Oder
long position = brightcoveVideoView.getVideoDisplay().getPlayerCurrentPosition();
Videodauer abrufen
long duration = videoView.getVideoDisplay().getCurrentVideo().getDurationLong();
Oder
long duration = event.getLongProperty(Event.VIDEO_DURATION_LONG);
Veraltete Klassen und Methoden
Die folgenden Klassenmitglieder und Methoden sind jetzt veraltet:
AbstractEvent Klasse
PLAYHEAD_POSITIONPROGRESS_BAR_PLAYHEAD_POSITIONORIGINAL_PLAYHEAD_POSITIONVIDEO_DURATIONSEEK_DEFAULTSEEK_POSITIONSEEK_PROGRESSFROM_SEEK_POSITIONRESTORE_SEEK_POSITIONORIGINAL_SEEK_POSITIONMIN_POSITIONMAX_POSITIONLIVE_WINDOW_DURATIONSTART_TIMEEND_TIME
BaseVideoView Klasse
durationplayheadPositiongetDuration()getCurrentPosition()seekTo(int position)
VideoDisplayComponent Klasse
playheadPositiongetLiveEdge()
ExoPlayerVideoDisplayComponent Klasse
getLiveEdge()
GooglecastComponent Klasse
CAST_MEDIA_PLAY_POSITION
GoogleIMAComponent Klasse
setAdPosition(int position)getContentPosition()setContentPosition(int position)
OmnitureComponent Klasse
play(Integer position)play(Integer position, boolean shouldIgnoreState)stopPlayback(Integer position)stopPlayback(Integer position, boolean shouldIgnoreState)
BrightcoveClosedCaption Klasse
Brightcove(int beginTime, int endTime, List<List<Span>> testLines)Brightcove(int beginTime, int endTime, String caption)getTimeRange()
TTMLParser Klasse
parseTimeValue(String value)
BrightcoveMediaController Klasse
getSeekBarOffset()
BrightcoveSeekBarController Klasse
getSeekBarOffset()setSeekBarOffset(int offset)
MediaControllerConfig Klasse
setInitialDuration(int initialDuration)setInitialPlayheadPosition(int initialPlayheadPosition)getInitialDuration()getInitialPlayheadPosition()
SeekButtonController Klasse
seekDefaultseekStartPositionseekTargetPositiongetSeekDefault()setSeekDefault()computeTargetSeekPosition()
Block Klasse
beginTimeendTimegetBeginTime()setBeginTime(Integer beginTime)getEndTime()setEndTime(Integer endTime)
CuePoint Klasse
CuePointType(int position, String type, Map<String, Object> properties)CuePointType(int position, CuePointType type, Map<String, Object>)getPosition()
Video Klasse
getDuration()
Video.Field Klasse
duration
BrightcoveClosedCaptioningView Klasse
TreeMap<Integer, ArrayList<TimeMapEntry>> captionsPerSecondMapSparseArray<StringBuilder> currentCaptionBlockArrayint lastProgressTimefindCaptionsForPosition(int position)refreshCaptions(int seekToTime)