CoWatchingHandler

@PublicApi
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

Hàm công khai

Unit

Á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.

Optional<QueriedCoWatchingState!>!

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

Hàm công khai

onCoWatchingStateChanged

fun onCoWatchingStateChanged(state: CoWatchingState!): Unit

Á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();
}
Thông số
state: CoWatchingState!

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

onStateQuery

fun onStateQuery(): Optional<QueriedCoWatchingState!>!

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.