CoWatchingHandler

@PublicApi
interface CoWatchingHandler


यह ऐड-ऑन ऐप्लिकेशन से मिलने वाले कॉलबैक, रिमोट पर लोगों के साथ मिलकर वीडियो देखने से जुड़े अपडेट मैनेज करने और लोकल मीडिया की स्थिति के बारे में क्वेरी करने के लिए दिया जाता है.

खास जानकारी

सार्वजनिक फ़ंक्शन

Unit

इसमें, मीटिंग में शामिल किसी दूसरे व्यक्ति के साथ मिलकर वीडियो देखने की स्थिति से जुड़ा अपडेट लागू होता है.

Optional<QueriedCoWatchingState!>!

स्थानीय लोगों के साथ मिलकर वीडियो देखने की मौजूदा स्थिति की जानकारी देता है.

सार्वजनिक फ़ंक्शन

onCoWatchingStateChanged

fun onCoWatchingStateChanged(state: CoWatchingState!): Unit

इसमें, मीटिंग में शामिल किसी दूसरे व्यक्ति के साथ मिलकर वीडियो देखने की स्थिति से जुड़ा अपडेट लागू होता है.

ध्यान दें: स्थानीय बदलावों की वजह से, इसका इस्तेमाल नहीं किया जाएगा.

लागू करने का उदाहरण:

// 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();
}
पैरामीटर
state: CoWatchingState!

प्लेयर पर लागू होने वाला नया CoWatchingState

onStateQuery

fun onStateQuery(): Optional<QueriedCoWatchingState!>!

स्थानीय लोगों के साथ मिलकर वीडियो देखने की मौजूदा स्थिति की जानकारी देता है.

इसे नियमित रूप से कॉल किया जाएगा, इसलिए इसे बेहतर परफ़ॉर्म करने के लिए लिखा जाना चाहिए (उदाहरण के लिए, 100 मि॰से॰ से कम).

लागू करने का उदाहरण:

QueriedCoWatchingState myCurrentPlaybackState = QueriedCoWatchingState
    .of(/* mediaPlayoutPosition= *{/} this.videoPlayer.videoTimestamp);
return Optional.of(myCurrentPlaybackState);
रिटर्न
Optional<QueriedCoWatchingState!>!

QueriedCoWatchingState में से Optional, लोगों के साथ मिलकर वीडियो देखने की मौजूदा स्थिति की जानकारी दे रहा है. Optional खाली होने का मतलब है कि साथ मिलकर वीडियो देखने की कोई गतिविधि नहीं हो रही है.