跳到主要内容

带看退出

提示

如果包含带看语言功能,带看退出会默认退出语音连接。

通常有两种情况需要关注带看退出:

  • 1、用户主动退出带看房间
    主动退出房间调用 exit() 方法进行操作,通过 exit() 方法的回调可知带看是否退出。
    其他因业务场景需要,由程序主动调用 exit() 触发的退出带看都归于用户主动退出带看房间。

  • 2、带看房间被关闭
    带看房间被关闭可通过监听内置事件 builtinEvent ,判断返回行为是否为 RoomClose 类型,获悉带看是否退出。

下面针对以上情况做详细开发说明。

无框架示例

此说明默认您使用原生 js | ts 进行应用开发。

1、调用退出方法

信息

通过 exit() 方法,操作带看退出。

// 通过简单的 `console.log(live)` ,确保您的确获取到了 `live` 实例。
live.exit().then(() => {
  console.log("退出带看");
});

2、监听房间关闭

import { BuiltinActionType } from "@realsee/live/lib/typings/LiveMsg";

live.on("builtinEvent", (builtinMsg) => {
  if (builtinMsg.action === BuiltinActionType.RoomClose) {
    // 带看房间关闭,退出带看
  }
});

3、成功退出标识

提示

您也可以在控制台快捷查看带看是否成功退出。

live-exit-success

如上图所示,如果收到 BUILTIN_MSG 指令,点击查看详细内容,data 的事件类型(event_type) 为 room_change, 行为(action) 为 close, 则标识带看成功退出。

React 示例

此说明默认您使用 React 框架进行应用开发。

1、调用退出方法

信息

使用 useLiveAction hook, 调用 exit() 方法,进行带看退出。

// highlight-start
import { useLiveAction } from "./LiveReact";
// highlight-end

function ExitBtn() {
  // highlight-start
  const { exit } = useLiveAction();
  // highlight-end

  const handleExit = () => {
    exit().then(() => {
      console.log("退出带看");
    });
  };

  return <button onClick={handleExit}>退出带看示例按钮</button>;
}

2、监听房间关闭

import { BuiltinActionType } from "@realsee/live/lib/typings/LiveMsg";

const { useLiveEventCallback } = liveInstance;

useLiveEventCallback("builtinEvent", (builtinMsg) => {
  switch (builtinMsg.action) {
    // highlight-start
    case BuiltinActionType.RoomClose:
      console.log("__带看房间关闭__");
      break;
    // highlight-end
    case BuiltinActionType.UserStatus:
      console.log(builtinMsg.data);
      console.log("builtinEvent: user state change");
      break;
    case BuiltinActionType.UserInfo:
      console.log("builtinEven: user info change");
      break;
    case BuiltinActionType.UserMicroStatus:
      console.log("builtinEvent: user micro change");
      break;
    case BuiltinActionType.UserPermission:
      console.log("builtinEvent: user permission change");
      break;
    default: // debug
      console.log("builtinEvent: 其他不在枚举内的变更!");
      break;
  }
});

3、成功退出标识

提示

您也可以在控制台快捷查看带看是否成功退出。

live-exit-success

如上图所示,如果收到 BUILTIN_MSG 指令,点击查看详细内容,data 的事件类型(event_type) 为 room_change, 行为(action) 为 close, 则标识带看成功退出。