Einleitung
Der Brightcove Media Controller für TV verfügt über eine Rücklauftaste und eine Schnellvorlauftaste. Wenn Sie auf eine dieser Schaltflächen klicken, wird standardmäßig 3 Sekunden rückwärts oder vorwärts gesucht.
Wenn Sie eine der Tasten gedrückt halten, wird die Suchposition alle 40 Millisekunden mit einer Geschwindigkeit von 3 Sekunden des Inhalts aktualisiert. Das bedeutet, dass jede Sekunde entweder die Rückspul- oder Schnellvorlauftaste gedrückt gehalten wird, um 75 Sekunden vorzurücken.
Suchschaltflächen konfigurieren
Die Rücklauf- und Schnellvorlauf-Tasten können über die EventType.SEEK_CONTROLLER_CONFIGURATION
Veranstaltung.
Der Einfachheit halber bezeichnen wir jede dieser Schaltflächen als Suchschaltfläche, da die folgenden Eigenschaften für beide gelten.
Veranstaltungsobjekt | Standardwert | Beschreibung |
---|---|---|
Event.SEEK_DEFAULT |
3000 ms | Der Standardsuchwert in Millisekunden, nach dem die Suchschaltfläche sucht. |
Event.SEEK_RELATIVE_ENABLED |
falsch | Wenn diese Option aktiviert ist, kann der Suchwert relativ zur Videodauer eingestellt werden, die durch das EventType.VIDEO_DURATION_CHANGED Veranstaltung. Der Prozentsatz wird eingestellt durch Event.SEEK_PERCENTAGE . |
Event.SEEK_PERCENTAGE |
1% | Der Prozentsatz relativ zur Videodauer, der verwendet wird, um den Standardsuchwert zu berechnen. |
Event.SEEK_ON_HOLD_WAIT_TIME |
500 ms | Die Zeit in Millisekunden, die gewartet wird, bis das Tastenereignis als langes Drücken anstatt als normales Drücken betrachtet wird. |
Event.SEEK_ON_HOLD_UPDATE_FREQ |
40 ms | Die Zeit in Millisekunden, die zum Senden der EventType.SEEKBAR_DRAGGING_PROGRESS -Ereignis, um die Suchleiste des Media Controllers zu aktualisieren. |
Ereigniseigenschaften anpassen
Möglicherweise möchten Sie zusätzliche Ereigniseigenschaften von den in der obigen Tabelle aufgeführten. Sie können dies tun, indem Sie die erwarteten Werte definieren und die EventType.SEEK_CONTROLLER_CONFIGURATION
Veranstaltung.
Gehen Sie folgendermaßen vor, um dem Ereignis benutzerdefinierte Eigenschaften hinzuzufügen:
-
Definieren Sie Ihre benutzerdefinierten Werte.
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;
-
Fügen Sie eine Methode zum Erstellen der Eigenschaftenzuordnung hinzu, fügen Sie die gewünschten Werte hinzu und geben Sie die
EventType.SEEK_CONTROLLER_CONFIGURATION
Veranstaltung.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); }
-
Überprüfen Sie, ob sich Ihre App im TV-Modus befindet, um die Konfiguration des Suchcontrollers einzurichten.
if (BrightcoveMediaController.checkTvMode(mBaseVideoView.getContext())) { setupTelevisionMode(); }