Introduction
Le Brightcove Media Controller pour TV est doté d'un bouton de rembobinage et d'un bouton d'avance rapide. Lorsque vous cliquez sur l'un de ces boutons, la valeur par défaut est de rechercher 3 secondes en arrière ou en avant.
Lorsque vous maintenez enfoncé l'un des boutons, la position de recherche se met à jour à un rythme de 3 secondes de contenu toutes les 40 millisecondes. Cela signifie que le maintien du bouton de rembobinage ou d'avance rapide chaque seconde fait avancer le contenu de 75 secondes.
Configuration des boutons de recherche
Les boutons de rembobinage et d'avance rapide peuvent être configurés via le EventType.SEEK_CONTROLLER_CONFIGURATION
un événement.
Pour plus de simplicité, nous appellerons l'un de ces boutons le bouton de recherche puisque les propriétés suivantes s'appliquent aux deux.
Propriété de l'événement | Valeur par défaut | Description |
---|---|---|
Event.SEEK_DEFAULT |
3000 ms | La valeur de recherche par défaut en millisecondes que le bouton de recherche recherchera. |
Event.SEEK_RELATIVE_ENABLED |
faux | Si activé, permet à la valeur de recherche d'être relative à la durée de la vidéo définie par le EventType.VIDEO_DURATION_CHANGED un événement. Le pourcentage est fixé par Event.SEEK_PERCENTAGE . |
Event.SEEK_PERCENTAGE |
1% | Le pourcentage relatif à la durée de la vidéo utilisé pour calculer la valeur de recherche par défaut. |
Event.SEEK_ON_HOLD_WAIT_TIME |
500 ms | Le temps en millisecondes à attendre pour que l'événement de touche soit considéré comme un appui long au lieu d'un appui régulier. |
Event.SEEK_ON_HOLD_UPDATE_FREQ |
40 ms | Le temps en millisecondes utilisé pour envoyer le EventType.SEEKBAR_DRAGGING_PROGRESS événement pour mettre à jour la barre de recherche du contrôleur multimédia. |
Personnalisation des propriétés de l'événement
Vous souhaiterez peut-être des propriétés d'événement supplémentaires parmi celles répertoriées dans le tableau ci-dessus. Vous pouvez le faire en définissant les valeurs attendues et en émettant le EventType.SEEK_CONTROLLER_CONFIGURATION
un événement.
Pour ajouter des propriétés personnalisées à l'événement, procédez comme suit :
-
Définissez vos valeurs personnalisées.
private static final int DEFAULT_TV_SEEK_TIME = (int) TimeUnit.SECONDS.toMillis(3); private static final int DEFAULT_TV_ON_HOLD_WAIT_TIME = (int) TimeUnit.SECONDS.toMillis(1); private static final int DEFAULT_TV_SEEK_PERCENTAGE = 1; private static final int DEFAULT_TV_ON_HOLD_UPDATE_FREQUENCY_TIME = 500;
-
Inclure une méthode pour créer la carte des propriétés, ajouter les valeurs souhaitées et émettre le
EventType.SEEK_CONTROLLER_CONFIGURATION
un événement.private void setupTelevisionMode() { Map<String, Object> properties = new HashMap<>(); properties.put(Event.SEEK_DEFAULT, DEFAULT_TV_SEEK_TIME); properties.put(Event.SEEK_RELATIVE_ENABLED, true); properties.put(Event.SEEK_PERCENTAGE, DEFAULT_TV_SEEK_PERCENTAGE); properties.put(Event.SEEK_ON_HOLD_WAIT_TIME, DEFAULT_TV_ON_HOLD_WAIT_TIME); properties.put(Event.SEEK_ON_HOLD_UPDATE_FREQ, DEFAULT_TV_ON_HOLD_UPDATE_FREQUENCY_TIME); eventEmitter.emit(EventType.SEEK_CONTROLLER_CONFIGURATION, properties); }
-
Vérifiez si votre application est en mode TV pour configurer la configuration du contrôleur de recherche.
if (BrightcoveMediaController.checkTvMode(mBaseVideoView.getContext())) { setupTelevisionMode(); }