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