@tencentcloud/tuiroom-engine-uniapp-app
Version:
TUIRoomEngine UniApp(App) SDK
745 lines (744 loc) • 28.7 kB
TypeScript
export declare enum TUIErrorCode {
ERR_SUCC = 0,
ERR_FAILED = -1,
ERR_FREQ_LIMIT = -2,
ERR_REPEAT_OPERATION = -3,
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_ROOM_ID_NOT_EXIST = -2100,
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_OPERATION_NOT_SUPPORTED_IN_CURRENT_SPEECH_MODE = -2104,
ERR_ROOM_ID_INVALID = -2105,
ERR_ROOM_ID_OCCUPIED = -2106,
ERR_ROOM_NAME_INVALID = -2107,
ERR_ALREADY_IN_OTHER_ROOM = -2108,
ERR_USER_NOT_EXIST = -2200,
ERR_USER_NOT_ENTERED = -2201,
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_REQUEST_ID_CONFLICT = -2313,
ERR_MAX_SEAT_COUNT_LIMIT = -2340,
ERR_ALREADY_IN_SEAT = -2341,
ERR_SEAT_OCCUPIED = -2342,
ERR_SEAT_LOCKED = -2343,
ERR_SEAT_INDEX_NOT_EXIST = -2344,
ERR_USER_NOT_IN_SEAT = -2345,
ERR_ALL_SEAT_OCCUPIED = -2346,
ERR_SEAT_NOT_SUPPORT_LINK_MIC = -2347,
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
}
export type TUIRoomInfo = {
roomId: string;
roomName: string;
roomType: TUIRoomType;
isSeatEnabled: boolean;
seatMode: TUISeatMode;
isMicrophoneDisableForAllUser: boolean;
isScreenShareDisableForAllUser: boolean;
isCameraDisableForAllUser: boolean;
isMessageDisableForAllUser: boolean;
maxSeatCount: number;
roomOwner: string;
createTime: number;
roomMemberCount: number;
};
export type TUILoginUserInfo = {
userId: string;
userName: string;
avatarUrl: string;
customInfo: Record<string, any>;
};
export type TUISeatLockParams = {
lockSeat: boolean;
lockVideo: boolean;
lockAudio: boolean;
};
export 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 用户头像地址
*/
export type TUIMessage = {
messageId: string;
message: string;
timestamp: number;
userId: string;
userName: string;
avatarUrl: string;
};
export declare enum TUIVideoQuality {
kVideoQuality_360p = 1,
kVideoQuality_540p = 2,
kVideoQuality_720p = 3,
kVideoQuality_1080p = 4
}
export declare enum TUIAudioQuality {
kAudioProfileSpeech = 0,
kAudioProfileDefault = 1,
kAudioProfileMusic = 2
}
export declare enum TUIVideoStreamType {
kCameraStream = 0,
kScreenStream = 1,
kCameraStreamLow = 2
}
export 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,目前仅本地用户有该信息
*/
export 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 横竖屏模式
*/
export type TUIVideoEncoderParams = {
quality?: TUIVideoQuality;
videoResolution: TUIVideoQuality;
fps: number;
bitrate: number;
resolutionMode: TUIResolutionMode;
};
export declare enum TUIRoomType {
kConference = 1,
kLive = 2
}
export declare enum TUISpeechMode {
kFreeToSpeak = 1,
kApplyToSpeak = 2,
kSpeakAfterTakingSeat = 3
}
export declare enum TUISeatMode {
kFreeToTake = 1,
kApplyToTake = 2
}
export declare enum TUIMediaDevice {
kMicrophone = 1,
kCamera = 2,
kScreen = 3
}
export declare enum TUICaptureSourceType {
kWindow = 0,
kScreen = 1
}
export declare enum TUIChangeReason {
kChangedBySelf = 0,
kChangedByAdmin = 1
}
export declare enum TUIKickedOutOfRoomReason {
kKickedByAdmin = 0,
kKickedByLoggedOnOtherDevice = 1,
kKickedByServer = 2
}
export declare enum TUIRequestAction {
kInvalidAction = 0,
kRequestToOpenRemoteCamera = 1,
kRequestToOpenRemoteMicrophone = 2,
kRequestToConnectOtherRoom = 3,
kRequestToTakeSeat = 4,
kRequestRemoteUserOnSeat = 5,
kApplyToAdminToOpenLocalCamera = 6,
kApplyToAdminToOpenLocalMicrophone = 7,
kApplyToAdminToOpenLocalScreenShare = 8
}
export declare enum TUIRequestCallbackType {
kRequestAccepted = 0,
kRequestRejected = 1,
kRequestCancelled = 2,
kRequestTimeout = 3,
kRequestError = 4,
kRequestId = 5
}
export declare enum TRTCRole {
kAnchor = 0,
kAudience = 1
}
export declare enum TUIResolutionMode {
kResolutionMode_Landscape = 0,
kResolutionMode_Portrait = 1
}
export type TUIUserInfo = {
userId: string;
userName: string;
avatarUrl: string;
userRole: TUIRole;
hasAudioStream: boolean;
hasVideoStream: boolean;
hasScreenStream: boolean;
roomCustomInfo: Record<string, any>;
};
export type TUISeatInfo = {
index: number;
userId: string;
locked: boolean;
isVideoLocked: boolean;
isAudioLocked: boolean;
};
export type TUIRequest = {
requestAction: TUIRequestAction;
timestamp: number;
requestId: string;
userId: string;
content: string;
};
export type TUIRequestCallback = {
requestCallbackType: TUIRequestCallbackType;
requestId: string;
userId: string;
code: number;
message: string;
};
export declare enum TUIMediaDeviceType {
kMediaDeviceTypeUnknown = -1,
kMediaDeviceTypeAudioInput = 0,
kMediaDeviceTypeAudioOutput = 1,
kMediaDeviceTypeVideoCamera = 2
}
export declare enum TUIMediaDeviceState {
kMediaDeviceStateAdd = 0,
kMediaDeviceStateRemove = 1,
kMediaDeviceStateActive = 2
}
export declare enum TUIAudioRoute {
kAudioRouteSpeakerphone = 0,
kAudioRouteEarpiece = 1
}
export type TUIDeviceInfo = {
deviceId: string;
deviceName: string;
deviceProperties?: {
supportedResolution?: {
width: number;
height: number;
}[];
};
};
/**
* **TUIRoomEngine 事件列表**<br>
* @namespace TUIRoomEvents
* @example
* import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-wx';
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onError, (error) => {
* console.log('roomEngine.error', error);
* })
*/
export 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 房间号
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onRoomDismissed, ({ roomId }) => {
* console.log('roomEngine.onRoomDismissed', roomId);
* });
*/
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 房间模式修改事件
* @deprecated 该事件自 v2.0.0 版本废弃
* @default 'onRoomSpeechModeChanged'
* @event TUIRoomEvents#onRoomSpeechModeChanged
* @param {object} options
* @param {TUISpeechMode} options.speechMode 房间模式
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onRoomSpeechModeChanged, ({ roomId, speechMode }) =>{
* console.log('roomEngine.onRoomSpeechModeChanged', roomId, speechMode);
* });
*/
onRoomSpeechModeChanged = "onRoomSpeechModeChanged",
/**
* @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 '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",
/**
* @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",
/**
* @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 '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",
/**
* @description 用户角色改变事件
* @default 'onKickedOutOfRoom'
* @event TUIRoomEvents#onUserRoleChanged
* @param {object} options
* @param {string} options.userId 用户Id
* @param {TUIRole} options.userRole 用户变更后的角色
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onUserRoleChanged, ({ userId, userRole }) => {
* console.log('roomEngine.onUserRoleChanged', userId, userRole);
* });
*/
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
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onKickedOffSeat, ({ userId }) => {
* console.log('roomEngine.onKickedOffSeat', userId);
* });
*/
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
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onRequestCancelled, ({ requestId, userId }) => {
* console.log('roomEngine.onRequestCancelled', requestId, userId);
* });
*/
onRequestCancelled = "onRequestCancelled",
/**
* @description 请求被其他 管理员/房主 处理事件
* @default 'onRequestProcessed'
* @event TUIRoomEvents#onRequestProcessed
* @param {object} options
* @param {string} options.requestId 请求Id
* @param {string} options.userId 处理该请求的 管理员/房主 的用户ID
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onRequestProcessed, ({ requestId, userId }) => {
* console.log('roomEngine.onRequestProcessed', requestId, userId);
* });
*/
onRequestProcessed = "onRequestProcessed",
/**
* @description 接收文本消息事件
* @deprecated 该接口自 v2.0.0 版本废弃,请使用 tim 实例监听收消息事件
* @default 'onReceiveTextMessage'
* @event TUIRoomEvents#onReceiveTextMessage
* @param {object} options
* @param {string} options.roomId 房间Id
* @param {TUIMessage} options.message 接收的文本消息
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onReceiveTextMessage, ({ roomId, message }) => {
* console.log('roomEngine.onReceiveTextMessage', roomId, message);
* });
*/
onReceiveTextMessage = "onReceiveTextMessage",
/**
* @description 接收自定义消息事件
* @deprecated 该接口自 v2.0.0 版本废弃,请使用 tim 实例监听收消息事件
* @default 'onReceiveCustomMessage'
* @event TUIRoomEvents#onReceiveCustomMessage
* @param {object} options
* @param {string} options.roomId 房间Id
* @param {TUIMessage} options.message 接收的自定义消息
* @example
* const roomEngine = new TUIRoomEngine();
* roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, ({ roomId, message }) => {
* console.log('roomEngine.onReceiveCustomMessage', roomId, 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"
}
export 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"
}