CoWatchingHandler

@PublicApi
interface CoWatchingHandler


Callback yang disediakan oleh aplikasi add-on untuk menangani update menonton bersama dari jarak jauh dan untuk mengkueri status media lokal.

Ringkasan

Fungsi publik

Unit

Menerapkan pembaruan status menonton bersama dari peserta lain dalam rapat.

Optional<QueriedCoWatchingState!>!

Mengambil status saat ini dari aktivitas menonton bersama lokal.

Fungsi publik

onCoWatchingStateChanged

fun onCoWatchingStateChanged(state: CoWatchingState!): Unit

Menerapkan pembaruan status menonton bersama dari peserta lain dalam rapat.

Catatan: Ini tidak akan dipanggil sebagai respons terhadap perubahan lokal.

Contoh penerapan:

// 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!

CoWatchingState baru untuk diterapkan ke pemain

onStateQuery

fun onStateQuery(): Optional<QueriedCoWatchingState!>!

Mengambil status saat ini dari aktivitas menonton bersama lokal.

Ini akan dipanggil secara berkala sehingga harus ditulis agar berperforma tinggi (misalnya <100 md).

Contoh penerapan:

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

Optional dari QueriedCoWatchingState yang menjelaskan status menonton bersama saat ini. Optional kosong menunjukkan tidak ada aktivitas menonton bersama yang sedang berlangsung.