CoWatchingHandler

@PublicApi
public interface CoWatchingHandler



Các lệnh gọi lại do ứng dụng tiện ích bổ sung cung cấp để xử lý các bản cập nhật cùng xem từ xa và để truy vấn trạng thái của nội dung nghe nhìn cục bộ.

Tóm tắt

Phương thức công khai

abstract void

Áp dụng thông tin cập nhật về trạng thái cùng xem của một người tham gia khác trong cuộc họp.

abstract Optional<QueriedCoWatchingState>

Truy xuất trạng thái hiện tại của hoạt động cùng xem cục bộ.

Phương thức công khai

onCoWatchingStateChanged

abstract void onCoWatchingStateChanged(CoWatchingState state)

Áp dụng thông tin cập nhật về trạng thái cùng xem của một người tham gia khác trong cuộc họp.

Lưu ý: Phương thức này sẽ không được gọi để phản hồi những thay đổi cục bộ.

Ví dụ về cách triển khai:

// 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();
}
Tham số
CoWatchingState state

CoWatchingState mới sẽ được áp dụng cho người chơi

onStateQuery

abstract Optional<QueriedCoWatchingStateonStateQuery()

Truy xuất trạng thái hiện tại của hoạt động cùng xem cục bộ.

Lệnh này sẽ được gọi thường xuyên, vì vậy cần được viết để có hiệu suất cao (ví dụ: <100 mili giây).

Ví dụ về cách triển khai:

QueriedCoWatchingState myCurrentPlaybackState = QueriedCoWatchingState
    .of(/* mediaPlayoutPosition= *{/} this.videoPlayer.videoTimestamp);
return Optional.of(myCurrentPlaybackState);
Giá trị trả về
Optional<QueriedCoWatchingState>

Optional/QueriedCoWatchingState mô tả trạng thái cùng xem hiện tại. Optional trống nghĩa là không có hoạt động cùng xem nào đang diễn ra.