Aperçu
Dans les versions antérieures du Brightcove Native SDK pour Android, int
et Integer
les types de données ont été utilisés pour gérer les valeurs de position de la tête de lecture (y compris la position de recherche) et la durée de la vidéo.
Avec le SDK natif pour Android version 6.18.0, nous nous sommes alignés sur la ExoPlayer
bibliothèque de gestion de ces valeurs. Le SDK natif a migré de l'utilisation int
et Integer
types de données à long
et Long
Types de données.
Dépréciation et remplacement
Cette migration implique deux processus :
- Dépréciation de toutes les références aux valeurs de position
int
et de durée de laInteger
tête de lecture, dans les membres de la classe et les méthodes - Création de nouveaux membres de classe et de nouvelles méthodes avec un
Long
suffixe sur leurs noms
Exemples
Voici quelques exemples de cette dépréciation et de ce remplacement :
Dans le ExoPlayerVideoDisplayComponent
:
- Obsolète :
videoDisplayComponent.getLiveEdge()
- Nouveau :
videoDisplayComponent.getLiveEdgeLong()
Dans la Video
classe :
- Obsolète :
video.getDuration()
- Nouveau :
video.getDurationLong()
Exigences
Les exigences suivantes sont nécessaires pour cette fonctionnalité :
- SDK natif Brightcove pour Android 6.18.0 ou supérieur
Utilisation des nouveaux types de données
Même si le SDK natif Brightcove pour Android prend toujours en charge l'utilisation des types entiers, le remplacement de ces derniers marque un point de rupture pour les nouvelles versions. Par conséquent, nous vous recommandons de mettre en œuvre ces remplacements dans vos projets à l'avenir.
Exemples
Voici quelques exemples de nouveaux membres et de nouvelles méthodes :
Écoute de la position de la tête de lecture et de la durée de la vidéo
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);
Obtenir la position actuelle de la tête de lecture
long position = event.getLongProperty(Event.PLAYHEAD_POSITION_LONG);
Ou
long position = brightcoveVideoView.getVideoDisplay().getPlayerCurrentPosition();
Obtenir la durée de la vidéo
long duration = videoView.getVideoDisplay().getCurrentVideo().getDurationLong();
Ou
long duration = event.getLongProperty(Event.VIDEO_DURATION_LONG);
Classes et méthodes obsolètes
Les membres de classe et les méthodes suivants sont désormais obsolètes :
AbstractEvent
classe
PLAYHEAD_POSITION
PROGRESS_BAR_PLAYHEAD_POSITION
ORIGINAL_PLAYHEAD_POSITION
VIDEO_DURATION
SEEK_DEFAULT
SEEK_POSITION
SEEK_PROGRESS
FROM_SEEK_POSITION
RESTORE_SEEK_POSITION
ORIGINAL_SEEK_POSITION
MIN_POSITION
MAX_POSITION
LIVE_WINDOW_DURATION
START_TIME
END_TIME
BaseVideoView
classe
duration
playheadPosition
getDuration()
getCurrentPosition()
seekTo(int position)
VideoDisplayComponent
classe
playheadPosition
getLiveEdge()
ExoPlayerVideoDisplayComponent
classe
getLiveEdge()
GooglecastComponent
classe
CAST_MEDIA_PLAY_POSITION
GoogleIMAComponent
classe
setAdPosition(int position)
getContentPosition()
setContentPosition(int position)
OmnitureComponent
classe
play(Integer position)
play(Integer position, boolean shouldIgnoreState)
stopPlayback(Integer position)
stopPlayback(Integer position, boolean shouldIgnoreState)
BrightcoveClosedCaption
classe
Brightcove(int beginTime, int endTime, List<List<Span>> testLines)
Brightcove(int beginTime, int endTime, String caption)
getTimeRange()
TTMLParser
classe
parseTimeValue(String value)
BrightcoveMediaController
classe
getSeekBarOffset()
BrightcoveSeekBarController
classe
getSeekBarOffset()
setSeekBarOffset(int offset)
MediaControllerConfig
classe
setInitialDuration(int initialDuration)
setInitialPlayheadPosition(int initialPlayheadPosition)
getInitialDuration()
getInitialPlayheadPosition()
SeekButtonController
classe
seekDefault
seekStartPosition
seekTargetPosition
getSeekDefault()
setSeekDefault()
computeTargetSeekPosition()
Block
classe
beginTime
endTime
getBeginTime()
setBeginTime(Integer beginTime)
getEndTime()
setEndTime(Integer endTime)
CuePoint
classe
CuePointType(int position, String type, Map<String, Object> properties)
CuePointType(int position, CuePointType type, Map<String, Object>)
getPosition()
Video
classe
getDuration()
Video.Field
classe
duration
BrightcoveClosedCaptioningView
classe
TreeMap<Integer, ArrayList<TimeMapEntry>> captionsPerSecondMap
SparseArray<StringBuilder> currentCaptionBlockArray
int lastProgressTime
findCaptionsForPosition(int position)
refreshCaptions(int seekToTime)