Anpassen der Android TV-Steuerung

In diesem Thema erfahren Sie, wie Sie die Tasten zum Zurück- und Vorspulen für Android TV anpassen können.

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:

  1. 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;
    
  2. 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);
    }
  3. Überprüfen Sie, ob sich Ihre App im TV-Modus befindet, um die Konfiguration des Suchcontrollers einzurichten.

    if (BrightcoveMediaController.checkTvMode(mBaseVideoView.getContext())) {
       setupTelevisionMode();
    }