UNPKG

@tencentcloud/tuiroom-engine-js

Version:
1,331 lines (1,330 loc) 188 kB
import { ChatSDK } from '@tencentcloud/chat'; export { default as TIM, default as TencentCloudChat } from '@tencentcloud/chat'; import TRTCCloud, { TRTCScreenCaptureSourceInfo, TRTCDeviceInfo } from 'trtc-cloud-js-sdk'; export { Rect, default as TRTCCloud, TRTCDeviceInfo, TRTCDeviceState, TRTCDeviceType, TRTCLogLevel, TRTCMediaMixingEncParam, TRTCMediaMixingEvent, TRTCMediaSource, TRTCMediaSourceType, TRTCScreenCaptureSourceInfo, TRTCScreenCaptureSourceType, TRTCVideoEncParam, TRTCVideoFillMode, TRTCVideoMirrorType, TRTCVideoResolution, TRTCVideoResolutionMode, TRTCVideoRotation, TRTCVideoStreamType, TRTCVolumeInfo } from 'trtc-cloud-js-sdk'; declare enum TUIErrorCode { ERR_SUCC = 0, ERR_FAILED = -1, ERR_FREQ_LIMIT = -2, ERR_REPEAT_OPERATION = -3, ERR_ROOM_MISMATCH = -4, ERR_SDKAPPID_NOT_FOUND = -1000, ERR_INVALID_PARAMETER = -1001, ERR_SDK_NOT_INITIALIZED = -1002, ERR_PERMISSION_DENIED = -1003, ERR_REQUIRE_PAYMENT = -1004, ERR_CAMERA_START_FAILED = -1100, ERR_CAMERA_NOT_AUTHORIZED = -1101, ERR_CAMERA_OCCUPIED = -1102, ERR_CAMERA_DEVICE_EMPTY = -1103, ERR_MICROPHONE_START_FAILED = -1104, ERR_MICROPHONE_NOT_AUTHORIZED = -1105, ERR_MICROPHONE_OCCUPIED = -1106, ERR_MICROPHONE_DEVICE_EMPTY = -1107, ERR_GET_SCREEN_SHARING_TARGET_FAILED = -1108, ERR_START_SCREEN_SHARING_FAILED = -1109, ERR_ALREADY_ROOM_OWNER = -1200, ERR_IM_ATTRIBUTE_WRITE_CONFLICT = -1201, ERR_ALREADY_ROOM_ENTER = -1202, ERR_DESTROY_ROOM_NO_PERMISSION = -1203, ERR_LIVE_REQUEST_SERVER_TIMEOUT = -1300, ERR_LIVE_SERVER_PROCESS_FAILED = -1301, ERR_LIVE_DISCONNECTED = -1302, ERR_LIVE_NO_AVAILABLE_HEVC_DECODERS = -1303, ERR_OPERATION_INVALID_BEFORE_ENTER_ROOM = -2101, ERR_EXIT_NOT_SUPPORTED_FOR_ROOM_OWNER = -2102, ERR_OPERATION_NOT_SUPPORTED_IN_CURRENT_ROOM_TYPE = -2103, ERR_ROOM_ID_INVALID = -2105, ERR_ROOM_NAME_INVALID = -2107, ERR_ALREADY_IN_OTHER_ROOM = -2108, ERR_USER_NOT_EXIST = -2200, ERR_NEED_OWNER_PERMISSION = -2300, ERR_NEED_ADMIN_PERMISSION = -2301, ERR_REQUEST_NO_PERMISSION = -2310, ERR_REQUEST_ID_INVALID = -2311, ERR_REQUEST_ID_REPEAT = -2312, ERR_MAX_SEAT_COUNT_LIMIT = -2340, ERR_SEAT_INDEX_NOT_EXIST = -2344, ERR_OPEN_MICROPHONE_NEED_SEAT_UNLOCK = -2360, ERR_OPEN_MICROPHONE_NEED_PERMISSION_FROM_ADMIN = -2361, ERR_OPEN_CAMERA_NEED_SEAT_UNLOCK = -2370, ERR_OPEN_CAMERA_NEED_PERMISSION_FROM_ADMIN = -2371, ERR_OPEN_SCREEN_SHARE_NEED_SEAT_UNLOCK = -2372, ERR_OPEN_SCREEN_SHARE_NEED_PERMISSION_FROM_ADMIN = -2373, ERR_SEND_MESSAGE_DISABLED_FOR_ALL = -2380, ERR_SEND_MESSAGE_DISABLED_FOR_CURRENT = -2381, ERR_ROOM_NOT_SUPPORT_PRELOADING = -4001, ERR_CALL_IN_PROGRESS = -6001, ERR_SERVER_SYSTEM_ERROR = 100001, ERR_SERVER_INVALID_PARAMETER = 100002, ERR_ROOM_ID_OCCUPIED = 100003, ERR_ROOM_ID_NOT_EXIST = 100004, ERR_USER_NOT_ENTERED = 100005, ERR_NO_PERMISSION = 100006, ERR_NEED_PASSWORD = 100018, ERR_WRONG_PASSWORD = 100019, ERR_ROOM_USER_FULL = 100008, ERR_REQUEST_CONFLICT = 100102, ERR_SEAT_OCCUPIED = 100210, ERR_ALREADY_IN_SEAT = 100203, ERR_SEAT_LOCKED = 100200, ERR_ALL_SEAT_OCCUPIED = 100205, ERR_USER_NOT_IN_SEAT = 100206, ERR_SEAT_NOT_SUPPORT_LINK_MIC = 100211, ERR_ROOM_ALREADY_CONNECTED = 100401, ERR_ROOM_CONNECTED_IN_OTHER = 100403, ERR_MAX_CONNECTED_COUNT_LIMIT = 100404, ERR_BATTLE_IN_RUNNING = 100419, ERR_BATTLE_ID_NOT_EXIST = 100411, ERR_ROOM_BATTLEID_IN_OTHER = 100415, ERR_ROOM_METADATA_EXCEED_KEY_COUNT_LIMIT = 100500, ERR_ROOM_METADATA_EXCEED_VALUE_SIZE_LIMIT = 100501, ERR_GIFT_ABILITY_NOT_ENABLED = 102001, ERR_GIFT_NOT_EXIST = 102002, ERR_GIFT_SERVER_PRE_VERIFICATION_FAILED = 102004, ERR_MIX_STREAM_UPDATE_TOO_FREQ = 100427, ERR_PUBLISH_STREAM_INFO_NOT_EXISTED = 100430, ERR_PUBLISH_STREAM_NO_NEED_RECOVERY = 100431 } type TUIRoomInfo = { roomId: string; roomName: string; roomType: TUIRoomType; isSeatEnabled: boolean; seatMode: TUISeatMode; password: string; isMicrophoneDisableForAllUser: boolean; isScreenShareDisableForAllUser: boolean; isCameraDisableForAllUser: boolean; isMessageDisableForAllUser: boolean; maxSeatCount: number; roomOwner: string; ownerId: string; ownerName: string; ownerAvatarUrl: string; createTime: number; roomMemberCount: number; }; type TUIEnterRoomOptions = { password?: string; }; type TUILoginUserInfo = { userId: string; userName: string; avatarUrl: string; customInfo: Record<string, any>; }; type TUISeatLockParams = { lockSeat: boolean; lockVideo: boolean; lockAudio: boolean; }; declare enum TUIRole { kRoomOwner = 0, kAdministrator = 1, kGeneralUser = 2 } /** * 消息结构体 * @typedef {object} TUIMessage * @property {string} messageId 消息 Id * @property {string} message 消息内容 * @property {number} timestamp 时间戳信息, 精确到秒 * @property {TUIRole} userId 用户 Id * @property {boolean} userName 用户名称 * @property {boolean} avatarUrl 用户头像地址 */ type TUIMessage = { messageId: string; message: string; timestamp: number; userId: string; userName: string; avatarUrl: string; }; declare enum TUIVideoQuality { kVideoQuality_360p = 1, kVideoQuality_540p = 2, kVideoQuality_720p = 3, kVideoQuality_1080p = 4 } declare enum TUIAudioQuality { kAudioProfileSpeech = 0, kAudioProfileDefault = 1, kAudioProfileMusic = 2 } declare enum TUIVideoStreamType { kCameraStream = 0, kScreenStream = 1, kCameraStreamLow = 2 } /** * 视频渲染模式 * @enum {String} */ declare enum TUIRenderMode { /** * 被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。 * 和 native 对齐,该模式对应着 web object-fit 属性的 cover 模式。 * */ kRenderModeFill = "fill", /** * 被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 * 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加黑边。 * */ kRenderModeFit = "fit" } declare enum TUINetworkQuality { kQualityUnknown = 0, kQualityExcellent = 1, kQualityGood = 2, kQualityPoor = 3, kQualityBad = 4, kQualityVeryBad = 5, kQualityDown = 6 } /** * 消息结构体 * @typedef {object} TUINetwork * @property {string} userId 用户 Id * @property {TUINetworkQuality} quality 网络质量 * @property {number} upLoss 上行丢包率,单位 (%) 该数值越小越好,目前仅本地用户有该信息 * @property {TUIRole} downLoss 下行丢包率,单位 (%) 该数值越小越好,目前仅本地用户有该信息 * @property {Number} delay 网络延迟,单位 ms,目前仅本地用户有该信息 */ type TUINetwork = { userId: string; quality: TUINetworkQuality; upLoss: number; downLoss: number; delay: number; }; /** * 视频编码参数 * @typedef {object} TUIVideoEncoderParams * @property {number} fps 帧率设置 * @property {number} bitrate 目标编码码率设置 * @property {TUIVideoQuality} quality 上行视频分辨率 * @property {TUIVideoQuality} videoResolution 上行视频分辨率(自 v1.6.0 版本开始支持,v1.6.0 之前版本请使用 quality 参数) * @property {TUIResolutionMode} resolutionMode 横竖屏模式 */ type TUIVideoEncoderParams = { quality?: TUIVideoQuality; videoResolution: TUIVideoQuality; fps: number; bitrate: number; resolutionMode: TUIResolutionMode; }; declare enum TUIRoomType { kConference = 1, kLive = 2 } declare enum TUISeatMode { kFreeToTake = 1, kApplyToTake = 2 } declare enum TUIMediaDevice { kMicrophone = 1, kCamera = 2, kScreen = 3 } declare enum TUICaptureSourceType { kWindow = 0, kScreen = 1 } declare enum TUIChangeReason { kChangedBySelf = 0, kChangedByAdmin = 1 } declare enum TUIKickedOutOfRoomReason { kKickedByAdmin = 0, kKickedByLoggedOnOtherDevice = 1, kKickedByServer = 2, kNetworkDisconnected = 3, kJoinRoomStatusInvalidDuringOffline = 4, kCountOfJoinedRoomsExceedLimit = 5 } declare enum TUIRequestAction { kInvalidAction = 0, kRequestToOpenRemoteCamera = 1, kRequestToOpenRemoteMicrophone = 2, kRequestToConnectOtherRoom = 3, kRequestToTakeSeat = 4, kRequestRemoteUserOnSeat = 5, kApplyToAdminToOpenLocalCamera = 6, kApplyToAdminToOpenLocalMicrophone = 7, kApplyToAdminToOpenLocalScreenShare = 8 } declare enum TUIRequestCallbackType { kRequestAccepted = 0, kRequestRejected = 1, kRequestCancelled = 2, kRequestTimeout = 3, kRequestError = 4 } declare enum TRTCRole { kAnchor = 0, kAudience = 1 } declare enum TUIResolutionMode { kResolutionMode_Landscape = 0, kResolutionMode_Portrait = 1 } declare enum TUIRoomDismissedReason { kByOwner = 1, kByServer = 2 } type TUIUserInfo = { userId: string; userName: string; nameCard: string; avatarUrl: string; userRole: TUIRole; hasAudioStream: boolean; hasVideoStream: boolean; hasScreenStream: boolean; isMessageDisabled: boolean; roomCustomInfo: Record<string, any>; }; declare enum TUIUserInfoModifyFlag { kNone = 0, kUserRole = 1, kNameCard = 2 } type TUISeatInfo = { index: number; userId: string; userName: string; nameCard: string; avatarUrl: string; isLocked: boolean; isVideoLocked: boolean; isAudioLocked: boolean; }; declare enum TUIMoveSeatPolicy { kAbortWhenOccupied = 0, kForceReplace = 1, kSwapPosition = 2 } type TUIRequest = { requestAction: TUIRequestAction; timestamp: number; requestId: string; userId: string; userName: string; nameCard: string; avatarUrl: string; content: string; fromUser: TUIUserInfo; toUser: TUIUserInfo; }; type TUIRequestCallback = { requestCallbackType: TUIRequestCallbackType; requestId: string; userId: string; code: number; message: string; }; declare enum TUIMediaDeviceType { kMediaDeviceTypeUnknown = -1, kMediaDeviceTypeAudioInput = 0, kMediaDeviceTypeAudioOutput = 1, kMediaDeviceTypeVideoCamera = 2 } declare enum TUIMediaDeviceState { kMediaDeviceStateAdd = 0, kMediaDeviceStateRemove = 1, kMediaDeviceStateActive = 2 } declare enum TUIAudioRoute { kAudioRouteSpeakerphone = 0, kAudioRouteEarpiece = 1 } type TUIDeviceInfo = { deviceId: string; deviceName: string; deviceProperties?: { supportedResolution?: { width: number; height: number; }[]; }; }; declare enum TUIConferenceStatus { kConferenceStatusNone = 0, kConferenceStatusNotStarted = 1, kConferenceStatusRunning = 2 } declare enum TUIConferenceCancelReason { kConferenceCancelReasonCancelledByAdmin = 0, kConferenceCancelReasonRemovedFromAttendees = 1 } type TUIConferenceInfo = { scheduleStartTime: number; scheduleEndTime: number; scheduleAttendees: string[]; reminderSecondsBeforeStart: number; status: TUIConferenceStatus; basicRoomInfo: TUIRoomInfo; }; type TUIConferenceModifyInfo = { scheduleStartTime?: number; scheduleEndTime?: number; basicRoomInfo: { roomId: string; roomName?: string; }; }; /** * 自动播放失败时回调参数结构体 * * userId 用户ID * resume 恢复播放的回调函数 */ type TUIAutoPlayCallbackInfo = { userId: string; resume: () => void; }; declare enum TUIInvitationStatus { kNone = 0, kPending = 1, kTimeout = 2, kAccepted = 3, kRejected = 4 } declare enum TUIInvitationCode { kSuccess = 0, kAlreadyInInvitationList = 1, kAlreadyInConference = 2 } declare enum TUIInvitationRejectedReason { kRejectToEnter = 0, kInOtherConference = 1 } type TUIInvitation = { status: TUIInvitationStatus; invitee: TUIUserInfo; inviter: TUIUserInfo; }; /** * **TUIRoomEngine 事件列表**<br> * @namespace TUIRoomEvents * @example * import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js'; * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onError, (error) => { * console.log('roomEngine.error', error); * }) */ declare enum TUIRoomEvents { /** * * @description 错误事件 * @event TUIRoomEvents#onError * @param {object} options * @param {number} options.code 错误代码 * @param {string} options.message 错误信息 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onError, (error) => { * console.log('TUIRoomError error', error); * }) */ onError = "onError", /** * @description 踢出房间事件 * @default 'onKickedOutOfRoom' * @event TUIRoomEvents#onKickedOutOfRoom * @param {object} options * @param {string} options.roomId 房间号 * @param {TUIKickedOutOfRoomReason} options.reason 用户被踢出房间枚举 * @param {string} options.message 踢出房间信息 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onKickedOutOfRoom, ({ roomId, reason, message }) => { * console.log('roomEngine.onKickedOutOfRoom', roomId, reason, message); * }); */ onKickedOutOfRoom = "onKickedOutOfRoom", /** * @description 当前用户被踢下线 * @default 'onKickedOffLine' * @event TUIRoomEvents#onKickedOffLine * @param {string} options.message 用户被踢下线信息 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onKickedOffLine, ({ message }) => { * console.log('roomEngine.onKickedOffLine', message); * }); */ onKickedOffLine = "onKickedOffLine", /** * @description userSig 过期事件 * @default 'onUserSigExpired' * @event TUIRoomEvents#onUserSigExpired * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserSigExpired, () => { * console.log('roomEngine.onUserSigExpired'); * }); */ onUserSigExpired = "onUserSigExpired", /** * @description 主持人销毁房间事件 * @default 'onRoomDismissed' * @event TUIRoomEvents#onRoomDismissed * @param {object} options * @param {string} options.roomId 房间号 * @param {TUIRoomDismissedReason} options.reason 房间解散原因枚举,该字段自 v2.3.0 开始支持 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRoomDismissed, ({ roomId,reason }) => { * console.log('roomEngine.onRoomDismissed', roomId,reason); * }); */ onRoomDismissed = "onRoomDismissed", /** * @description 房间名字修改事件 * @default 'onRoomNameChanged' * @event TUIRoomEvents#onRoomChanged * @param {object} options * @param {string} options.roomName 房间名字 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRoomNameChanged, ({ roomId, roomName }) =>{ * console.log('roomEngine.onRoomNameChanged', roomId, roomName); * }); */ onRoomNameChanged = "onRoomNameChanged", /** * @description 上麦模式修改事件 * @default 'onRoomSeatModeChanged' * @event TUIRoomEvents#onRoomSeatModeChanged * @param {object} options * @param {TUISeatMode} options.seatMode 房间上麦模式 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRoomSeatModeChanged, ({ roomId, seatMode }) =>{ * console.log('roomEngine.onRoomSeatModeChanged', roomId, seatMode); * }); */ onRoomSeatModeChanged = "onRoomSeatModeChanged", /** * @description 房间内人数变化事件 * @default 'onRoomUserCountChanged' * @event TUIRoomEvents#onRoomUserCountChanged * @param {object} options * @param {string} options.roomId 房间号 * @param {number} options.userCount 房间内人数 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRoomUserCountChanged, ({ roomId, userCount }) =>{ * console.log('roomEngine.onRoomUserCountChanged', roomId, userCount); * }); */ onRoomUserCountChanged = "onRoomUserCountChanged", /** * @description 所有成员摄像头使用权限改变事件 * @default 'onAllUserCameraDisableChanged' * @event TUIRoomEvents#onAllUserCameraDisableChanged * @param {object} options * @param {boolean} options.isDisable 是否允许使用摄像头 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onAllUserCameraDisableChanged, ({ isDisable }) =>{ * console.log('roomEngine.onAllUserCameraDisableChanged', isDisable); * }); */ onAllUserCameraDisableChanged = "onAllUserCameraDisableChanged", /** * @since v2.2.0 * @description 房间内所有用户屏幕分享被禁用事件 * @default 'onScreenShareForAllUserDisableChanged' * @event TUIRoomEvents#onScreenShareForAllUserDisableChanged * @param {object} options * @param {boolean} options.isDisable 是否开启禁止屏幕分享 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onScreenShareForAllUserDisableChanged, ({ isDisable }) =>{ * console.log('roomEngine.onScreenShareForAllUserDisableChanged', isDisable); * }); */ onScreenShareForAllUserDisableChanged = "onScreenShareForAllUserDisableChanged", /** * @description 所有成员麦克风使用权限改变事件 * @default 'onAllUserMicrophoneDisableChanged' * @event TUIRoomEvents#onAllUserMicrophoneDisableChanged * @param {object} options * @param {boolean} options.isDisable 是否允许使用麦克风 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onAllUserMicrophoneDisableChanged, ({ isDisable }) =>{ * console.log('roomEngine.onAllUserMicrophoneDisableChanged', isDisable); * }); */ onAllUserMicrophoneDisableChanged = "onAllUserMicrophoneDisableChanged", /** * @description 所有成员发送消息权限改变事件 * @default 'onSendMessageForAllUserDisableChanged' * @event TUIRoomEvents#OnSendMessageForAllUserDisableChanged * @param {object} options * @param {boolean} options.isDisable 是否被允许 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onSendMessageForAllUserDisableChanged, ({ isDisable }) =>{ * console.log('roomEngine.onSendMessageForAllUserDisableChanged', isDisable); * }); */ onSendMessageForAllUserDisableChanged = "onSendMessageForAllUserDisableChanged", /** * @description 房间最大麦位数修改事件 * @default 'onRoomMaxSeatCountChanged' * @event TUIRoomEvents#onRoomMaxSeatCountChanged * @param {object} options * @param {boolean} options.maxSeatNumber 最大麦位数 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRoomMaxSeatCountChanged, ({ maxSeatNumber }) =>{ * console.log('roomEngine.onRoomMaxSeatCountChanged', maxSeatNumber); * }); */ onRoomMaxSeatCountChanged = "onRoomMaxSeatCountChanged", /** * @description 远端用户进入房间事件 * @default 'onRemoteUserEnterRoom' * @event TUIRoomEvents#onRemoteUserEnterRoom * @param {object} options * @param {string} options.roomId 房间号 * @param {TUIUserInfo} options.userInfo 用户信息 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRemoteUserEnterRoom, ({ roomId, userInfo }) => { * console.log('roomEngine.onRemoteUserEnterRoom', roomId, userInfo); * }); */ onRemoteUserEnterRoom = "onRemoteUserEnterRoom", /** * @description 远端用户离开房间事件 * @default 'onRemoteUserLeaveRoom' * @event TUIRoomEvents#onRemoteUserLeaveRoom * @param {object} options * @param {string} options.roomId 房间号 * @param {TUIUserInfo} options.userInfo 用户信息 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRemoteUserLeaveRoom, ({ roomId, userInfo }) => { * console.log('roomEngine.onRemoteUserLeaveRoom', roomId, userInfo); * }); */ onRemoteUserLeaveRoom = "onRemoteUserLeaveRoom", /** * @since v2.5.0 * @description 房间内用户信息改变事件 * @default 'onUserInfoChanged' * @event TUIRoomEvents#onUserInfoChanged * @param {object} options * @param {TUIUserInfo} options.userInfo 用户信息 * @param {TUIUserInfoModifyFlag} options.modifyFlag 用户信息变更标记位,该字段自 v3.5.1 开始支持 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserInfoChanged, ({ userInfo, modifyFlag }) => { * console.log('roomEngine.onUserInfoChanged', userInfo, modifyFlag); * }); */ onUserInfoChanged = "onUserInfoChanged", /** * @description 用户角色改变事件 * @deprecated 该接口自 v2.5.0 版本废弃,请使用'onUserInfoChanged'. * @default 'onUserRoleChanged' * @event TUIRoomEvents#onUserRoleChanged * @param {object} options * @param {string} options.userId 用户Id * @param {TUIRole} options.userRole 用户变更后的角色 * @param {TUIUserInfo} options.userInfo 用户信息,该字段自 v2.3.0 开始支持 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserRoleChanged, ({ userInfo }) => { * console.log('roomEngine.onUserRoleChanged', userInfo); * }); */ onUserRoleChanged = "onUserRoleChanged", /** * @description 用户视频状态改变事件 * @default 'onUserVideoStateChanged' * @event TUIRoomEvents#onUserVideoStateChanged * @param {object} options * @param {string} options.userId 用户Id * @param {TUIVideoStreamType} options.streamType 用户流类型 * @param {boolean} options.hasVideo 是否有视频流 * @param {TUIChangeReason} options.reason 变更原因 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserVideoStateChanged, ({ userId, streamType, hasVideo, reason }) => { * console.log('roomEngine.onUserVideoStateChanged', userId, streamType, hasVideo, reason); * }); */ onUserVideoStateChanged = "onUserVideoStateChanged", /** * @description 用户音频状态改变事件 * @default 'onUserAudioStateChanged' * @event TUIRoomEvents#onUserAudioStateChanged * @param {object} options * @param {string} options.userId 用户Id * @param {boolean} options.hasVideo 是否有音频流 * @param {TUIChangeReason} options.reason 原因 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserAudioStateChanged, ({ userId, hasAudio, reason }) => { * console.log('roomEngine.onUserAudioStateChanged', userId, hasAudio, reason); * }); */ onUserAudioStateChanged = "onUserAudioStateChanged", /** * @description 用户发送消息状态改变事件 * @default 'onSendMessageForUserDisableChanged' * @event TUIRoomEvents#onSendMessageForUserDisableChanged * @param {object} options * @param {string} options.userId 成员 Id * @param {boolean} options.isDisable 是否被允许 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onSendMessageForUserDisableChanged, ({ userId, isDisable }) =>{ * console.log('roomEngine.onSendMessageForUserDisableChanged', isDisable); * }); */ onSendMessageForUserDisableChanged = "onSendMessageForUserDisableChanged", /** * @description 用户音量改变事件 * @default 'onUserVoiceVolumeChanged' * @event TUIRoomEvents#onUserVoiceVolumeChanged * @param {object} options * @param {Array<TRTCVolumeInfo>} options.userVolumeList 房间内所有用户的音量, 包含 userId 及 volume 信息,volume 区间为 1~100; * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserVoiceVolumeChanged, ({ userVolumeList }) => { * userVolumeList.forEach(userVolume => { * console.log('roomEngine.onUserVoiceVolumeChanged', userVolume.userId, userVolume.volume); * }) * }); */ onUserVoiceVolumeChanged = "onUserVoiceVolumeChanged", /** * @description 用户网络质量改变事件 * @default 'onUserNetworkQualityChanged' * @event TUIRoomEvents#onUserNetworkQualityChanged * @param {object} options * @param {TUINetwork} options.userNetworkList 网络质量信息 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserNetworkQualityChanged, ({ userNetworkList }) => { * userNetworkList.forEach(userNetwork => { * console.log('roomEngine.onUserNetworkQualityChanged', * userNetwork.userId, userNetwork.quality, userNetwork.upLoss, userNetwork.downLoss, userNetwork.delay); * }) * }); */ onUserNetworkQualityChanged = "onUserNetworkQualityChanged", /** * @description 麦位列表改变事件 * @default 'onSeatListChanged' * @event TUIRoomEvents#onSeatListChanged * @param {object} options * @param {Array<TUISeatInfo>} options.seatList 麦位列表 * @param {Array<TUISeatInfo>} options.seatedList 新增麦位列表 * @param {Array<TUISeatInfo>} options.leftList 离开的麦位列表 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, seatedList, leftList }) => { * console.log('roomEngine.onSeatListChanged',seatList, seatedList, leftList); * }); */ onSeatListChanged = "onSeatListChanged", /** * @description 当前用户被踢下麦事件 * @default 'onKickedOffSeat' * @event TUIRoomEvents#onKickedOffSeat * @param {number} options.seatIndex 麦位编号,该字段自 v2.3.0 开始支持 * @param {TUIUserInfo} options.userInfo 操作踢人的(主持人/管理员)用户信息,该字段自 v2.3.0 开始支持 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onKickedOffSeat, ({ seatIndex, userInfo }) => { * console.log('roomEngine.onKickedOffSeat', seatIndex, userInfo); * }); */ onKickedOffSeat = "onKickedOffSeat", /** * @description 请求接收事件 * @default 'onRequestReceived' * @event TUIRoomEvents#onRequestReceived * @param {object} options * @param {TUIRequest} options.request 请求接收 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRequestReceived, ({ request }) => { * console.log('roomEngine.onRequestReceived', request); * }); */ onRequestReceived = "onRequestReceived", /** * @description 请求取消事件 * @default 'onRequestCancelled' * @event TUIRoomEvents#onRequestCancelled * @param {object} options * @param {string} options.requestId 请求Id * @param {string} options.userId 取消请求的用户Id * @param {TUIRequest} options.request 请求信息,该字段自 v2.3.0 开始支持 * @param {TUIUserInfo} options.userInfo 处理该请求的 管理员/房主 的用户信息,该字段自 v2.3.0 开始支持 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRequestCancelled, ({ request, userInfo }) => { * console.log('roomEngine.onRequestCancelled', request, userInfo); * }); */ onRequestCancelled = "onRequestCancelled", /** * @description 请求被其他 管理员/房主 处理事件 * @default 'onRequestProcessed' * @event TUIRoomEvents#onRequestProcessed * @param {object} options * @param {string} options.requestId 请求Id * @param {string} options.userId 处理该请求的 管理员/房主 的用户ID * @param {TUIRequest} options.request 请求信息,该字段自 v2.3.0 开始支持 * @param {TUIUserInfo} options.userInfo 处理该请求的 管理员/房主 的用户信息,该字段自 v2.3.0 开始支持 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRequestProcessed, ({ request, userInfo }) => { * console.log('roomEngine.onRequestProcessed', request, userInfo); * }); */ onRequestProcessed = "onRequestProcessed", /** * @since v3.1.0 * @description 接收文本消息事件 * @default 'onReceiveTextMessage' * @event TUIRoomEvents#onReceiveTextMessage * @param {object} options 接收的文本消息 * @param {string} options.roomId 房间Id * @param {string} options.textContent 文本消息内容 * @param {TUIUserInfo} options.sender 发送者信息 * @param {number} options.sequence 消息序号 * @param {object} options.extensionInfo 扩展信息 * @param {string} options.timestampInSecond 时间戳 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onReceiveTextMessage, (message) => { * console.log('roomEngine.onReceiveTextMessage', message); * }); */ onReceiveTextMessage = "onReceiveTextMessage", /** * @since v3.1.0 * @description 接收自定义消息事件 * @default 'onReceiveCustomMessage' * @event TUIRoomEvents#onReceiveCustomMessage * @param {object} options 接收的自定义消息 * @param {string} options.roomId 房间Id * @param {string} options.businessId 业务Id * @param {string} options.data 自定义消息内容 * @param {TUIUserInfo} options.sender 发送者信息 * @param {number} options.sequence 消息序号 * @param {string} options.timestampInSecond 时间戳 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, (message) => { * console.log('roomEngine.onReceiveCustomMessage', message); * }); */ onReceiveCustomMessage = "onReceiveCustomMessage", /** * @description 设备变更事件 * @default 'onDeviceChange' * @event TUIRoomEvents#onDeviceChange * @param {object} options * @param {string} options.deviceId 设备 Id * @param {TRTCDeviceType} options.type 设备类型 * @param {TRTCDeviceState} options.state 设备变更状态 * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onDeviceChange, ({ deviceId, type, state }) => { * console.log('roomEngine.onDeviceChange', deviceId, type, state); * }); */ onDeviceChange = "onDeviceChange", /** * @description 屏幕分享停止事件,当用户使用浏览器自带的【停止分享】按钮结束屏幕共享时,该用户会收到 'onUserScreenCaptureStopped' 事件用来修改屏幕共享状态。 * @default 'onUserScreenCaptureStopped' * @event TUIRoomEvents#onUserScreenCaptureStopped * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onUserScreenCaptureStopped, () => { * console.log('roomEngine.onUserScreenCaptureStopped'); * }); */ onUserScreenCaptureStopped = "onUserScreenCaptureStopped", /** * @description 自动播放失败的事件,监听到该事件后可以引导用户与页面进行交互 * @default 'onAutoPlayFailed' * @event TUIRoomEvents#onAutoPlayFailed * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onAutoPlayFailed, ({userId, resume}) => { * // 自动播放失败,引导用户与页面进行交互 * }); */ onAutoPlayFailed = "onAutoPlayFailed", /** * @description 房间自定义信息改变的事件 * @default 'onRoomMetadataChanged' * @event TUIRoomEvents#onRoomMetadataChanged * @example * const roomEngine = new TUIRoomEngine(); * roomEngine.on(TUIRoomEvents.onRoomMetadataChanged, ({key, value}) => { * console.log(key, value); * }); */ onRoomMetadataChanged = "onRoomMetadataChanged" } declare enum TUIRoomDeviceMangerEvents { /** * @description 设备变更事件 * @default 'onDeviceChange' * @event TUIRoomDeviceMangerEvents#onDeviceChange * @param {object} options * @param {string} options.deviceId 设备 Id * @param {TRTCDeviceType} options.type 设备类型 * @param {TRTCDeviceState} options.state 设备变更状态 * @example * const roomEngine = new TUIRoomEngine(); * const deviceManager = roomEngine.getDeviceManager(); * deviceManager.on(TUIRoomDeviceMangerEvents.onDeviceChange, ({ deviceId, type, state }) => { * console.log('deviceManager.onDeviceChange', deviceId, type, state); * }); */ onDeviceChanged = "onDeviceChanged", /** * @description 麦克风测试音量 * @default 'onTestMicVolume' * @event TUIRoomDeviceMangerEvents#onTestMicVolume * @param {object} options * @param {number} options.volume 麦克风测试音量(0-100) * @example * const roomEngine = new TUIRoomEngine(); * const deviceManager = roomEngine.getDeviceManager(); * deviceManager.on(TUIRoomDeviceMangerEvents.onTestMicVolume, ({ volume }) => { * console.log('deviceManager.onTestMicVolume', volume); * }); */ onTestMicVolume = "onTestMicVolume", /** * @description 扬声器测试音量,仅 Electron 端支持 * @default 'onTestSpeakerVolume' * @event TUIRoomDeviceMangerEvents#onTestSpeakerVolume * @param {object} options * @param {number} options.volume 扬声器测试音量(0-100) * @example * const roomEngine = new TUIRoomEngine(); * const deviceManager = roomEngine.getDeviceManager(); * deviceManager.on(TUIRoomDeviceMangerEvents.onTestSpeakerVolume, ({ volume }) => { * console.log('deviceManager.onTestSpeakerVolume', volume); * }); */ onTestSpeakerVolume = "onTestSpeakerVolume" } /** * @since v2.5.0 * **TUIConferenceListManager 事件列表**<br> * @namespace TUIConferenceListManagerEvents */ declare enum TUIConferenceListManagerEvents { /** * @description 会议预定回调 * @default 'onConferenceScheduled' * @event TUIConferenceListManagerEvents#onConferenceScheduled * @param {object} options * @param {string} options.conferenceInfo 会议信息。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceScheduled, ({ conferenceInfo }) => { * console.log('conferenceListManager.onConferenceScheduled', conferenceInfo); * }) */ onConferenceScheduled = "onConferenceScheduled", /** * @description 会议即将开始回调 * @default 'onConferenceWillStart' * @event TUIConferenceListManagerEvents#onConferenceWillStart * @param {object} options * @param {string} options.conferenceInfo 会议信息。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceWillStart, ({ conferenceInfo }) => { * console.log('conferenceListManager.onConferenceWillStart', conferenceInfo); * }) */ onConferenceWillStart = "onConferenceWillStart", /** * @description 会议取消回调 * @deprecated 该接口自 v3.5.0 版本废弃,请使用 onConferenceDidCancelled'. * * @param {object} options * @param {string} options.roomId 会议Id,即房间 roomId 。 * @param {TUIConferenceCancelReason} options.reason 会议取消原因。 * @param {TUIUserInfo} options.operateUser 取消会议操作者信息。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceCancelled, ({ roomId, reason, operateUser }) => { * console.log('conferenceListManager.onConferenceCancelled', roomId, reason, operateUser); * }) */ onConferenceCancelled = "onConferenceCancelled", /** * @description 会议取消回调 代替 onConferenceCancelled * * @param {object} options * @param {TUIConferenceInfo} options.conferenceInfo 会议信息。 * @param {TUIConferenceCancelReason} options.reason 会议取消原因。 * @param {TUIUserInfo} options.operateUser 取消会议操作者信息。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceDidCancelled, ({ conferenceInfo, reason, operateUser }) => { * console.log('conferenceListManager.onConferenceDidCancelled', conferenceInfo, reason, operateUser); * }) */ onConferenceDidCancelled = "onConferenceDidCancelled", /** * @description 会议信息变更回调 * * @param {object} options * @param {TUIConferenceModifyInfo} options.conferenceModifyInfo 会议信息。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceInfoChanged, ({ conferenceModifyInfo }) => { * console.log('conferenceListManager.onConferenceInfoChanged', conferenceModifyInfo); * }) */ onConferenceInfoChanged = "onConferenceInfoChanged", /** * @description 参会人员变更回调 * @deprecated 该接口自 v3.5.0 版本废弃,请使用 onScheduleAttendeesUpdated'. * * @param {object} options * @param {string} options.roomId 会议Id,即房间roomId。 * @param {Array<TUIUserInfo>} options.leftUsers 离开成员列表。 * @param {Array<TUIUserInfo>} options.joinedUsers 新加入成员列表。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onScheduleAttendeesChanged, ({ roomId, leftUsers, joinedUsers }) => { * console.log('conferenceListManager.onScheduleAttendeesChanged', roomId, leftUsers, joinedUsers); * }) */ onScheduleAttendeesChanged = "onScheduleAttendeesChanged", /** * @description 参会人员变更回调 代替 onScheduleAttendeesChanged * * @param {object} options * @param {TUIConferenceInfo} options.conferenceInfo 会议信息。 * @param {Array<TUIUserInfo>} options.leftUsers 离开成员列表。 * @param {Array<TUIUserInfo>} options.joinedUsers 新加入成员列表。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onScheduleAttendeesUpdated, ({ conferenceInfo, leftUsers, joinedUsers }) => { * console.log('conferenceListManager.onScheduleAttendeesUpdated', conferenceInfo, leftUsers, joinedUsers); * }) */ onScheduleAttendeesUpdated = "onScheduleAttendeesUpdated", /** * @description 会议状态变更回调 * @deprecated 该接口自 v3.5.0 版本废弃,请使用 onConferenceStatusUpdated'. * * @param {object} options * @param {string} options.roomId 会议Id,即房间roomId。 * @param {TUIConferenceStatus} options.status 会议状态。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceStatusChanged, ({ roomId, status }) => { * console.log('conferenceListManager.onConferenceStatusChanged', roomId, status ); * }) */ onConferenceStatusChanged = "onConferenceStatusChanged", /** * @description 会议状态变更回调 * * @param {object} options * @param {TUIConferenceInfo} options.conferenceInfo 会议Id,即房间roomId。 * @param {TUIConferenceStatus} options.status 会议状态。 * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceListManager = roomEngine.getConferenceListManager(); * conferenceListManager.on(TUIConferenceListManagerEvents.onConferenceStatusUpdated, ({ conferenceInfo, status }) => { * console.log('conferenceListManager.onConferenceStatusUpdated', conferenceInfo, status ); * }) */ onConferenceStatusUpdated = "onConferenceStatusUpdated" } /** * @since v2.6.0 * **TUIConferenceInvitationManager 事件列表**<br> * @namespace TUIConferenceInvitationManagerEvents */ declare enum TUIConferenceInvitationManagerEvents { /** * @description 收到会中邀请回调 * @default 'onReceiveInvitation' * @event TUIConferenceInvitationManagerEvents#onReceiveInvitation * @param {object} options * @param {TUIRoomInfo} options.roomInfo 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * @param {string} options.extensionInfo 自定义扩展信息 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onReceiveInvitation, ({ roomInfo, invitation, extensionInfo }) => { * console.log('conferenceInvitationManager.onReceiveInvitation', roomInfo, invitation, extensionInfo); * }) */ onReceiveInvitation = "onReceiveInvitation", /** * @description 邀请在其他设备处理的回调 * @default 'onInvitationHandledByOtherDevice' * @event TUIConferenceInvitationManagerEvents#onInvitationHandledByOtherDevice * @param {object} options * @param {TUIRoomInfo} options.roomInfo 会议信息。 * @param {boolean} options.accepted 接受状态。 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationHandledByOtherDevice, ({ roomInfo, accepted }) => { * console.log('conferenceInvitationManager.onInvitationHandledByOtherDevice', roomInfo, accepted); * }) */ onInvitationHandledByOtherDevice = "onInvitationHandledByOtherDevice", /** * @description 会中邀请取消的回调 * @default 'onInvitationCancelled' * @event TUIConferenceInvitationManagerEvents#onInvitationCancelled * @param {object} options * @param {TUIRoomInfo} options.roomInfo 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationCancelled, ({ roomInfo, invitation }) => { * console.log('conferenceInvitationManager.onInvitationCancelled', roomInfo, invitation); * }) */ onInvitationCancelled = "onInvitationCancelled", /** * @description 会中邀请接受的回调 * @default 'onInvitationAccepted' * @event TUIConferenceInvitationManagerEvents#onInvitationAccepted * @param {object} options * @param {TUIRoomInfo} options.roomInfo 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationAccepted, ({ roomInfo, invitation }) => { * console.log('conferenceInvitationManager.onInvitationAccepted', roomInfo, invitation); * }) */ onInvitationAccepted = "onInvitationAccepted", /** * @description 会中邀请拒绝的回调 * @default 'onInvitationRejected' * @event TUIConferenceInvitationManagerEvents#onInvitationRejected * @param {object} options * @param {TUIRoomInfo} options.roomInfo 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * @param {TUIInvitationRejectedReason} options.reason 拒绝加入会议的原因。 * * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationRejected, ({ roomInfo, invitation, reason }) => { * console.log('conferenceInvitationManager.onInvitationRejected', roomInfo, invitation, reason); * }) */ onInvitationRejected = "onInvitationRejected", /** * @description 会中邀请超时的回调 * @default 'onInvitationTimeout' * @event TUIConferenceInvitationManagerEvents#onInvitationTimeout * @param {object} options * @param {TUIRoomInfo} options.roomInfo 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationTimeout, ({ roomInfo, invitation }) => { * console.log('conferenceInvitationManager.onInvitationTimeout', roomInfo, invitation); * }) */ onInvitationTimeout = "onInvitationTimeout", /** * @description 会中邀请被管理员撤回的回调 * @default 'onInvitationRevokedByAdmin' * @event TUIConferenceInvitationManagerEvents#onInvitationRevokedByAdmin * @param {object} options * @param {TUIRoomInfo} options.roomInfo 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * @param {TUIUserInfo} options.operateUser 撤回邀请的人的信息 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationRevokedByAdmin, ({ roomInfo, invitation, userRole }) => { * console.log('conferenceInvitationManager.onInvitationRevokedByAdmin', roomInfo, invitation, operateUser); * }) */ onInvitationRevokedByAdmin = "onInvitationRevokedByAdmin", /** * @description 新添加会中邀请的回调 * @default 'onInvitationAdded' * @event TUIConferenceInvitationManagerEvents#onInvitationAdded * @param {object} options * @param {string} options.roomId 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationAdded, ({ roomId, invitation }) => { * console.log('conferenceInvitationManager.onInvitationAdded', roomId, invitation); * }) */ onInvitationAdded = "onInvitationAdded", /** * @description 会中邀请被移除的回调 * @default 'onInvitationRemoved' * @event TUIConferenceInvitationManagerEvents#onInvitationRemoved * @param {object} options * @param {string} options.roomId 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationRemoved, ({ roomId, invitation }) => { * console.log('conferenceInvitationManager.onInvitationRemoved', roomId, invitation); * }) */ onInvitationRemoved = "onInvitationRemoved", /** * @description 会中邀请状态变更的回调 * @default 'onInvitationStatusChanged' * @event TUIConferenceInvitationManagerEvents#onInvitationStatusChanged * @param {object} options * @param {string} options.roomId 会议信息。 * @param {TUIInvitation} options.invitation 邀请信息。 * * * @example * const roomEngine = new TUIRoomEngine(); * const conferenceInvitationManager = roomEngine.getConferenceInvitationManager(); * conferenceInvitationManager.on(TUIConferenceInvitationManagerEvents.onInvitationStatusChanged, ({ roomId, invitation }) => { * console.log('conferenceInvitationManager.onInvitationStatusChanged', roomId, invitation); * }) */ onInvitationStatusChanged = "onInvitationStatusChanged" } type TUILiveInfo = { roomId: string; roomType: TUIRoomType; name: string; notice: string; isMessageDisableForAllUser: boolean; isGiftEnabled: boolean; isLikeEnabled: boolean; isPublicVisible: boolean; isSeatEnabled: boolean; keepOwnerOnSeat: boolean; seatLayoutTemplateId: number; maxSeatCount: number; seatMode: TUISeatMode; coverUrl: string; backgroundUrl: string; categoryList: Array<number>; activityStatus: number; readonly roomOwner?: string; readonly ownerName?: string; readonly ownerAvatarUrl?: string; readonly createTime?: number; readonly totalViewers?: number; readonly isUnlimitedRoomEnabled?: boolean; readonly cdnStreamUrl?: string; readonly lebSecretKey?: string; readonly lebEncrypted?: string; readonly lebSignature?: string; }; type StartLiveOptions = { roomId: string; roomType?: TUIRoomType; name: string; notice?: string; isMessageDisableForAllUser?: boolean; isGiftEnabled?: boolean; isLikeEnabled?: boolean; isPublicVisible?: boolean; isSeatEnabled?: boolean; keepOwnerOnSeat?: boolean; seatLayoutTemplateId?: number; maxSeatCount?: number; seatMode?: TUISeatMode; coverUrl?: string; backgroundUrl?: string; categoryList?: Array<number>; activityStatus?: number; }; /** * 直播连线用户信息 */ type TUILiveConnectionUser = { roomId: string; userId: string; userName: string; avatarUrl: string; joinConnectionTime: number; }; /** * 发起连线请求的结果状态码 */ declare enum TUIConnectionCode { TUIConnectionCodeUnknown = -1, TUIConnectionCodeSuccess = 0, TUIConnectionCodeRoomNotExist = 1, TUIConnectionCodeConnecting = 2, TUIConnectionCodeConnectingOtherRoom = 3, TUIConnectionCodeFull = 4, TUIConnectionCodeRetr