CoWatchingClient

@PublicApi
interface CoWatchingClient


表示“一起看”会话。

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

摘要

常量

const Double

允许的最大播放速率。

const Double

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

公共函数

Unit
notifyBuffering(mediaPlayoutPosition: Duration!)

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

Unit
notifyEnded(mediaPlayoutPosition: Duration!)

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

Unit
notifyPauseState(paused: Boolean, mediaPlayoutPosition: Duration!)

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

Unit
notifyPlayoutRate(rate: Double, mediaPlayoutPosition: Duration!)

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

Unit

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

Unit
notifyReady(mediaPlayoutPosition: Duration!)

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

Unit
notifySeekToTimestamp(mediaPlayoutPosition: Duration!)

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

Unit
notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!
)

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

Unit
notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!,
    queue: CoWatchingQueue!
)

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

常量

MAX_PLAYOUT_RATE

const val MAX_PLAYOUT_RATE = 2.0: Double

允许的最大播放速率。

MAX_SEEKS_PER_SECOND

const val MAX_SEEKS_PER_SECOND = 0.9: Double

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

公共函数

notifyBuffering

fun notifyBuffering(mediaPlayoutPosition: Duration!): Unit

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

参数
mediaPlayoutPosition: Duration!

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

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

notifyEnded

fun notifyEnded(mediaPlayoutPosition: Duration!): Unit

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

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

参数
mediaPlayoutPosition: Duration!

玩家的最终位置

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

notifyPauseState

fun notifyPauseState(paused: Boolean, mediaPlayoutPosition: Duration!): Unit

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

参数
paused: Boolean

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

mediaPlayoutPosition: Duration!

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

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

notifyPlayoutRate

fun notifyPlayoutRate(rate: Double, mediaPlayoutPosition: Duration!): Unit

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

参数
rate: Double

媒体目前的播放速率

mediaPlayoutPosition: Duration!

播放器的当前位置

抛出
java.lang.IllegalStateException

如果 rate 不是正数

java.lang.IllegalStateException

如果 rate 大于 MAX_PLAYOUT_RATE

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

notifyQueueUpdate

fun notifyQueueUpdate(queue: CoWatchingQueue!): Unit

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

参数
queue: CoWatchingQueue!

有关插件应用队列的信息

抛出
java.lang.NullPointerException

如果 queue 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

notifyReady

fun notifyReady(mediaPlayoutPosition: Duration!): Unit

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

参数
mediaPlayoutPosition: Duration!

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

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

notifySeekToTimestamp

fun notifySeekToTimestamp(mediaPlayoutPosition: Duration!): Unit

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

参数
mediaPlayoutPosition: Duration!

用户跳转至的时间戳

抛出
java.lang.NullPointerException

如果 mediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

java.lang.IllegalStateException

如果每秒搜索次数大于 MAX_SEEKS_PER_SECOND

notifySwitchedToMedia

fun notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!
): Unit

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

参数
mediaTitle: String!

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

mediaId: String!

切换到的媒体的字符串 URI

mediaPlayoutPosition: Duration!

媒体开始播放的位置

抛出
java.lang.NullPointerException

如果 mediaIdmediaPlayoutPosition 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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

notifySwitchedToMedia

fun notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!,
    queue: CoWatchingQueue!
): Unit

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

参数
mediaTitle: String!

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

mediaId: String!

切换到的媒体的字符串 URI

mediaPlayoutPosition: Duration!

媒体开始播放的位置

queue: CoWatchingQueue!

有关插件应用队列的信息

抛出
java.lang.NullPointerException

如果 mediaIdmediaPlayoutPositionqueue 为 null

com.google.android.meet.addons.AddonException

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

java.lang.IllegalStateException

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