CoWatchingHandler

@PublicApi
public interface CoWatchingHandler



يمكن رد الاتصال من خلال تطبيق الإضافة للتعامل مع تحديثات المشاهدة مع الآخرين عن بُعد وللاستعلام عن حالة الوسائط المحلية.

ملخّص

الطرق المتاحة للجميع

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 الفارغة إلى أنّه ما مِن نشاط مشاهدة مع الآخرين قيد التقدم.