connectOtherRoom method
- 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,
});
}