实现 Co-Watching API

Co-Watching API 可管理多位用户的会议体验, 观看或收听应用中内容的参与者。

本指南介绍了如何实现 Co-Watching API。

开始使用

要使用 Co-Watching API,您必须先部署一个 Meet 插件。一次 如果您已完成这些步骤,就可以开始使用 Co-Watching API 了 更新插件。

如需使用 Co-Watching API,请先获取 AddonSession 对象,该对象可用作 Google Meet 协作活动的入口点:

TypeScript

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

CLOUD_PROJECT_NUMBER 替换为您的 Google Cloud 项目的项目编号。

创建“一起看”客户端

首先,请创建 CoWatchingClient 对象从 AddonSession 中移除。

如需创建 CoWatchingCient,请调用 createCoWatchingClient() 方法,并提供 CoWatchingDelegate 对象。

每当有新状态可用时,Co-Watching API 都会通过 CoWatchingDelegate 更新您的应用。预计在调用 onCoWatchingStateChanged() 方法时,您的应用会立即应用新状态。

以下代码示例展示了如何使用 Co-Watching API:

TypeScript

 const coWatchingClient = await addonSession.createCoWatchingClient({
    activityTitle: "ACTIVITY_TITLE",
    onCoWatchingStateQuery() {
      // This function should return the current state of your CoWatching activity
      return getMyApplicationCoWatchingState();
    },
    onCoWatchingStateChanged(coWatchingState: CoWatchingState) {
      // This function should apply newState to your ongoing CoWatching activity
    },
  });

ACTIVITY_TITLE 替换为 activity 的媒体标题。

管理当前状态

当用户在您的应用中执行操作时,应用应该 立即调用所提供的 API 方法。

您应仅在响应重大事件时调用这些方法。对于 例如,您不需要在每次应用进入播放模式时都调用它们 视频。您创建的 CoWatchingDelegate 负责处理更新后的播放 在这些情况下的期望。

您可以使用以下方法控制同看状态:

  • notifyBuffering():当用户的应用因之前的媒体切换、媒体跳转或网络拥塞而开始缓冲时调用。

  • notifyPauseState(): 在用户暂停或取消暂停正在播放的媒体时调用。

  • notifyPlayoutRate():当用户将播放速度更新为新值(例如 1.25 倍)时调用。

  • notifyReady():在缓冲完成且媒体现在可以播放时调用。

  • notifySeekToTimestamp(): 在用户明确改变播放位置时调用。

  • notifySwitchToMedia(): 每当正在播放的媒体发生变化时调用。例如,用户选择了新视频,或自动播放功能开始播放下一个视频。