connectOtherRoom method

Future<void> connectOtherRoom(
  1. String param
)

请求跨房通话,让两个不同的房间可以进行音视频流分享(比如"主播PK"场景)

在 TRTC 中,不同房间的两个主播可以使用“跨房通话”功能进行跨房间的连麦,无需退出各自所在的房间就可以进行“主播对战”。

举例:房间“001”中的主播 A 使用 connectOtherRoom 成功呼叫房间“002”的主播 B 后,房间“001”中的所有用户都会收到主播 B 的 onRemoteUserEnterRoom(B)onUserVideoAvailable(B,true) 回调,而房间“002”中的所有用户都会收到主播 A 的 onRemoteUserEnterRoom(A)onUserVideoAvailable(A,true) 回调。

简而言之,跨房通话就是在两个不同房间的主播之间共享,让两个房间的用户都能看到他们。

为了兼容跨房通话后续扩展字段,目前采用 JSON 格式的参数,至少需要包含两个字段:

  • roomId:如果房间“001”的主播 A 想要和房间“002”的主播 B 连麦,那么在主播 A 调用 connectOtherRoom 时,roomId 必须设置为 002

  • userId:如果房间“001”的主播 A 想要和房间“002”的主播 B 连麦,那么在主播 A 调用 connectOtherRoom 时,userId 必须设置为主播 B 的 userId

请求跨房通话的结果将通过 TRTCCloudListener.onConnectOtherRoom 回调返回。

示例调用:

var object = new Map();

object['roomId'] = 155;

object['userId'] = '57890';

trtcCloud.connectOtherRoom(jsonEncode(object));

参数:

param:以 JSON 字符串格式的连麦参数。roomId 表示目标房间号,userId 表示目标用户 ID。

不支持:

  • web

Implementation

Future<void> connectOtherRoom(String param) {
  return _cloudChannel.invokeMethod('connectOtherRoom', {
    "param": param,
  });
}