CoWatchingClient

@PublicApi
public interface CoWatchingClient



表示“一起看”会话。

告知 Meet 用户最近执行的操作(例如播放/暂停/跳转)和环境因素(例如因缓冲媒体而导致延迟)。

摘要

常量

default static final double

允许的最大播放速率。

default static final double

每秒允许的搜寻次数上限。

公共方法

abstract void
notifyBuffering(Duration mediaPlayoutPosition)

通知 Meet,由于之前进行媒体切换、媒体搜索或正常网络拥塞等原因,由于正在缓冲,媒体尚未准备好播放。

abstract void
notifyEnded(Duration mediaPlayoutPosition)

通知 Meet 媒体播放器已播放到当前媒体内容的末尾。

abstract void
notifyPauseState(boolean paused, Duration mediaPlayoutPosition)

通知 Meet 用户已暂停或取消暂停播放媒体内容,以便 Meet 可以将此操作镜像给其他用户。

abstract void
notifyPlayoutRate(double rate, Duration mediaPlayoutPosition)

通知 Meet 用户已更新媒体的播放速率(例如

abstract void

通知 Meet,队列已更改,以便 Meet 向其他用户镜像。

abstract void
notifyReady(Duration mediaPlayoutPosition)

通知 Meet 缓冲完毕,且媒体从提供的时间戳开始播放。

abstract void
notifySeekToTimestamp(Duration mediaPlayoutPosition)

通知 Meet 用户已跳转至媒体的播放点,以便 Meet 可以将此操作镜像给其他用户。

abstract void
notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition
)

通知 Meet 用户已切换媒体,以便 Meet 可以将其传递给其他用户。

abstract void
notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition,
    CoWatchingQueue queue
)

通知 Meet 用户已切换媒体,同时更新队列,以便 Meet 可以将其传递给其他用户。

常量

MAX_PLAYOUT_RATE

default static final double MAX_PLAYOUT_RATE = 2.0

允许的最大播放速率。

MAX_SEEKS_PER_SECOND

default static final double MAX_SEEKS_PER_SECOND = 0.9

每秒允许的搜寻次数上限。

公共方法

notifyBuffering

abstract void notifyBuffering(Duration mediaPlayoutPosition)

通知 Meet,由于之前进行媒体切换、媒体搜索或正常网络拥塞等原因,由于正在缓冲,媒体尚未准备好播放。

参数
Duration mediaPlayoutPosition

媒体暂停、等待缓冲完成的位置

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

notifyEnded

abstract void notifyEnded(Duration mediaPlayoutPosition)

通知 Meet 媒体播放器已播放到当前媒体内容的末尾。

注意:如果在媒体结束后立即通过自动播放机制调用 notifySwitchedToMedia,则无需调用此方法(尽管不会产生负面影响)。

参数
Duration mediaPlayoutPosition

玩家的最终位置

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

notifyPauseState

abstract void notifyPauseState(boolean paused, Duration mediaPlayoutPosition)

通知 Meet 用户已暂停或取消暂停播放媒体内容,以便 Meet 可以将此操作镜像给其他用户。

参数
boolean paused

如果已暂停,则为 true;如果继续播放,则为 false

Duration mediaPlayoutPosition

媒体暂停或取消暂停的位置

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

notifyPlayoutRate

abstract void notifyPlayoutRate(double rate, Duration mediaPlayoutPosition)

通知 Meet 用户已更新媒体的播放速率(例如1.25 倍)为新值。

参数
double rate

媒体目前的播放速率

Duration mediaPlayoutPosition

播放器的当前位置

抛出
java.lang.IllegalStateException

如果 rate 不是正数

java.lang.IllegalStateException

如果 rate 大于 MAX_PLAYOUT_RATE

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

notifyQueueUpdate

abstract void notifyQueueUpdate(CoWatchingQueue queue)

通知 Meet,队列已更改,以便 Meet 向其他用户镜像。

参数
CoWatchingQueue queue

有关插件应用队列的信息

抛出
java.lang.NullPointerException

如果 queue 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

notifyReady

abstract void notifyReady(Duration mediaPlayoutPosition)

通知 Meet 缓冲完毕,且媒体从提供的时间戳开始播放。

参数
Duration mediaPlayoutPosition

媒体缓冲和准备播放的位置

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

notifySeekToTimestamp

abstract void notifySeekToTimestamp(Duration mediaPlayoutPosition)

通知 Meet 用户已跳转至媒体的播放点,以便 Meet 可以将此操作镜像给其他用户。

参数
Duration mediaPlayoutPosition

用户跳转至的时间戳

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

java.lang.IllegalStateException

如果每秒搜索次数大于 MAX_SEEKS_PER_SECOND

notifySwitchedToMedia

abstract void notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition
)

通知 Meet 用户已切换媒体,以便 Meet 可以将其传递给其他用户。

参数
String mediaTitle

切换到的媒体的标题。当其他用户考虑连接到一起观看的会话时,此名称会显示在 Meet 界面中。

String mediaId

切换到的媒体的字符串 URI

Duration mediaPlayoutPosition

媒体开始播放的位置

抛出
java.lang.NullPointerException

如果 mediaIdmediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用

notifySwitchedToMedia

abstract void notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition,
    CoWatchingQueue queue
)

通知 Meet 用户已切换媒体,同时更新队列,以便 Meet 可以将其传递给其他用户。

参数
String mediaTitle

切换到的媒体的标题。当其他用户考虑连接到一起观看的会话时,此名称会显示在 Meet 界面中。

String mediaId

切换到的媒体的字符串 URI

Duration mediaPlayoutPosition

媒体开始播放的位置

CoWatchingQueue queue

有关插件应用队列的信息

抛出
java.lang.NullPointerException

如果 mediaIdmediaPlayoutPositionqueue 为 null

com.google.android.meet.addons.AddonException

如果出现意外错误,则会发生此错误

java.lang.IllegalStateException

在共同观看会话结束后调用