createRTCRoom method
@detail api
@author shenpengliang
@brief 创建 RTC 房间实例。
调用此方法仅返回一个房间实例,你仍需调用 joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} 才能真正地创建/加入房间。
多次调用此方法以创建多个 ByteRTCRoom{@link #ByteRTCRoom} 实例。分别调用各 ByteRTCRoom 实例中的 joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} 方法,同时加入多个房间。
多房间模式下,用户可以同时订阅各房间的音视频流。
@param roomId 标识通话房间的房间 ID。该字符串符合正则表达式:[a-zA-Z0-9_\@\\-\\.]{1,128}。
@return 创建的 ByteRTCRoom{@link #ByteRTCRoom} 房间实例。
返回 NULL 时,请确认指定房间是否已经存在或 roomId 格式错误。
@note
- 如果需要加入的房间已存在,你仍需先调用本方法来获取 ByteRTCRoom 实例,再调用 joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} 加入房间。
- 请勿使用同样的 roomId 创建多个房间,否则后创建的房间实例会替换先创建的房间实例。
- 如果你需要在多个房间发布音视频流,无须创建多房间,直接调用 startForwardStreamToRooms:{@link #ByteRTCRoom#startForwardStreamToRooms} 开始跨房间转发媒体流。
Implementation
FutureOr<ByteRTCRoom> createRTCRoom(NSString roomId) async {
final result = await nativeCall('createRTCRoom:', [roomId]);
return packObject(result,
() => ByteRTCRoom(const NativeClassOptions([], disableInit: true)));
}