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>

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