CoWatchingHandler

@PublicApi
interface CoWatchingHandler


Callbacks, die von der Add-on-App bereitgestellt werden, um Updates zum gemeinsamen Ansehen aus der Ferne zu verarbeiten und den Status der lokalen Medien abzufragen.

Zusammenfassung

Öffentliche Funktionen

Unit

Wendet ein Update zum gemeinsamen Wiedergabestatus von einem anderen Teilnehmer der Videokonferenz an.

Optional<QueriedCoWatchingState!>!

Ruft den aktuellen Status der lokalen gemeinsamen Wiedergabe ab.

Öffentliche Funktionen

onCoWatchingStateChanged

fun onCoWatchingStateChanged(state: CoWatchingState!): Unit

Wendet ein Update zum gemeinsamen Wiedergabestatus von einem anderen Teilnehmer der Videokonferenz an.

Hinweis: Diese Methode wird nicht bei lokalen Änderungen aufgerufen.

Implementierungsbeispiel:

// Handle transition to new video.
if (!newState.mediaId().equals(this.videoPlayer.videoUrl)) {
  this.videoPlayer.loadVideo(newState.mediaId());
}

// Only adjust the local video playout if it is sufficiently diverged from the timestamp in the
// applied update.
if (newState
        .mediaPlayoutPosition()
        .minus(this.videoPlayer.videoTimestamp)
        .compareTo(Duration.ofMillis(500))
    > 0) {
  this.videoPlayer.seek(newState.mediaPlayoutPosition());
}

// Update pause state if necessary.
if (newState.playbackState().equals(PLAY) && this.videoPlayer.isPaused) {
  this.videoPlayer.unpause();
} else if (newState.playbackState().equals(PAUSE) && !this.videoPlayer.isPaused) {
  this.videoPlayer.pause();
}
Parameter
state: CoWatchingState!

Das neue CoWatchingState, das auf den Player angewendet wird

onStateQuery

fun onStateQuery(): Optional<QueriedCoWatchingState!>!

Ruft den aktuellen Status der lokalen gemeinsamen Wiedergabe ab.

Diese wird regelmäßig aufgerufen und sollte daher so geschrieben werden, dass sie leistungsstark ist (z.B. < 100 ms).

Implementierungsbeispiel:

QueriedCoWatchingState myCurrentPlaybackState = QueriedCoWatchingState
    .of(/* mediaPlayoutPosition= *{/} this.videoPlayer.videoTimestamp);
return Optional.of(myCurrentPlaybackState);
Rückgaben
Optional<QueriedCoWatchingState!>!

Optional von QueriedCoWatchingState zur Beschreibung des aktuellen Status der gemeinsamen Wiedergabe. Das Feld „Optional“ ist leer, wenn gerade keine Aktivität gemeinsam angesehen wird.