CoWatchingHandler

@PublicApi
public interface CoWatchingHandler



קריאות חוזרות (callback) שסופקו על ידי אפליקציית התוסף כדי לטפל בעדכונים של צפייה משותפת מרחוק וכדי לשלוח שאילתות לגבי מצב המדיה המקומית.

סיכום

שיטות ציבוריות

abstract void

ההגדרה הזו מאפשרת לעדכן את מצב הצפייה המשותפת ממשתתף אחר בפגישה.

abstract Optional<QueriedCoWatchingState>

אחזור המצב הנוכחי של פעילות הצפייה המשותפת.

שיטות ציבוריות

onCoWatchingStateChanged

abstract void onCoWatchingStateChanged(CoWatchingState state)

ההגדרה הזו מאפשרת לעדכן את מצב הצפייה המשותפת ממשתתף אחר בפגישה.

הערה: לא תתבצע קריאה לפעולה הזו בתגובה לשינויים מקומיים.

דוגמה להטמעה:

// 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();
}
פרמטרים
CoWatchingState state

CoWatchingState החדש שיוחל על הנגן

onStateQuery

abstract Optional<QueriedCoWatchingStateonStateQuery()

אחזור המצב הנוכחי של פעילות הצפייה המשותפת.

הקריאה הזו תיקרא באופן קבוע, לכן צריך לכתוב אותה כדי שההצגה תהיה בעלת ביצועים טובים (למשל, פחות מ-100 אלפיות שנייה).

דוגמה להטמעה:

QueriedCoWatchingState myCurrentPlaybackState = QueriedCoWatchingState
    .of(/* mediaPlayoutPosition= *{/} this.videoPlayer.videoTimestamp);
return Optional.of(myCurrentPlaybackState);
החזרות
Optional<QueriedCoWatchingState>

Optional מתוך QueriedCoWatchingState תיאור של מצב הצפייה המשותפת. אם השדה Optional ריק, סימן שאין פעילות של צפייה משותפת.