createRTCRoom method
@detail api
@author shenpengliang
@brief Create a RTC room instance.
This API only returns a room instance. You still need to call joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} to actually create/join the room.
Each call of this API creates one ByteRTCRoom{@link #ByteRTCRoom} instance. Call this API as many times as the number of rooms you need, and then call joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} of each RTCRoom instance to join multiple rooms at the same time.
In multi-room mode, a user can subscribe to media streams in the joined rooms at the same time.
@param roomId The string matches the regular expression: [a-zA-Z0-9_\@\\-\\.]{1,128}.
@return ByteRTCRoom{@link #ByteRTCRoom} instance.
If you get NULL instead of an RTCRoom instance, please ensure the roomId is valid. And the specified room is not yet created.
@note
- If the room that you wish to join already exists, you still need to call this API first to create the ByteRTCRoom instance, and then call joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig}.
- Do not create multiple rooms with the same roomId, otherwise the newly created room instance will replace the old one.
- To forward streams to the other rooms, call startForwardStreamToRooms:{@link #ByteRTCRoom#startForwardStreamToRooms} instead of enabling Multi-room mode.
Implementation
FutureOr<ByteRTCRoom> createRTCRoom(NSString roomId) async {
final result = await nativeCall('createRTCRoom:', [roomId]);
return packObject(result,
() => ByteRTCRoom(const NativeClassOptions([], disableInit: true)));
}