@tencentcloud/tuiroom-engine-js 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -2,7 +2,9 @@ import TIM from '@tencentcloud/chat';
2
2
  import TencentCloudChat from '@tencentcloud/chat';
3
3
  import TRTCCloud, { TRTCDeviceInfo, TRTCScreenCaptureSourceInfo } from 'trtc-cloud-js-sdk';
4
4
  import { TUIRoomInfo, TUIVideoStreamType, TUIVideoQuality, TUIAudioQuality, TUIRole, TUIRoomEvents, TUIRoomType, TUISeatInfo, TUIRequestCallback, TUISpeechMode, TUIMediaDevice, TUISeatLockParams, TUILoginUserInfo, TUIUserInfo, TUIRequest, TUIVideoEncoderParams, TUIResolutionMode, TUISeatMode } from './types';
5
+ import TUIRoomDeviceManager from './modules/deviceManager';
5
6
  export * from './types';
7
+ export { TUIRoomDeviceManager };
6
8
  export { TRTCDeviceType, TRTCDeviceState, TRTCDeviceInfo, TRTCVideoMirrorType, TRTCVideoRotation, TRTCVideoFillMode, TRTCVideoStreamType, TRTCScreenCaptureSourceInfo, TRTCScreenCaptureSourceType, Rect, TRTCVideoEncParam, TRTCVideoResolution, TRTCVideoResolutionMode, TRTCVolumeInfo, TRTCLogLevel, } from 'trtc-cloud-js-sdk';
7
9
  export { TRTCCloud, TIM, TencentCloudChat };
8
10
  /**
@@ -14,6 +16,8 @@ declare class TUIRoomEngine {
14
16
  static className: string;
15
17
  private static isReady;
16
18
  private roomEngineWASM;
19
+ private deviceManager;
20
+ private deviceManagerWASM;
17
21
  private static userId;
18
22
  private static sdkAppId;
19
23
  private static Module;
@@ -69,7 +73,7 @@ declare class TUIRoomEngine {
69
73
  * @param {object} options
70
74
  * @param {string} options.userName 用户名,必填
71
75
  * @param {string} options.avatarUrl 用户头像,必填
72
- * @param {object=} options.customInfo 用户自定义资料
76
+ * @param {object=} options.customInfo 用户自定义资料, customInfo 字段自 v2.2.0 版本废弃
73
77
  * App 管理员可以通过 [即时通信 IM 控制台 > 用户自定义字段](https://console.cloud.tencent.com/im/user-data) 新增自定义资料字段
74
78
  * 用户自定义字段生效以后,用户可以调用 setSelfInfo 接口设置自定义资料
75
79
  * @returns {Promise<void>}
@@ -128,6 +132,7 @@ declare class TUIRoomEngine {
128
132
  * 自由上麦模式,台下观众可以自由上麦,无需申请,seatMode 设置为 TUISeatMode.kFreeToTake
129
133
  * 申请上麦模式,台下观众上麦需要房主或者管理员同意后才能上麦,seatMode 设置为 TUISeatMode.kApplyToTake
130
134
  * @param {boolean=} [options.isMicrophoneDisableForAllUser=false] 是否开启全员禁麦,默认不开启全员禁麦(创建房间可选参数)
135
+ * @param {boolean=} [options.isScreenShareDisableForAllUser=false] 是否开启禁止屏幕分享,默认不开启禁止屏幕分享权限(该属性自 v2.2.0 版本 以后支持,创建房间可选参数)
131
136
  * @param {boolean=} [options.isCameraDisableForAllUser=false] 是否开启全员禁画,默认不开启全员禁画(创建房间可选参数)
132
137
  * @param {boolean=} [options.isMessageDisableForAllUser=false] 是否允许成员发送消息,默认不禁止(创建房间可选参数)
133
138
  * @param {number=} options.maxSeatCount 最大麦位数量 (创建房间可选参数)<br>
@@ -151,6 +156,7 @@ declare class TUIRoomEngine {
151
156
  isSeatEnabled?: boolean;
152
157
  seatMode?: TUISeatMode;
153
158
  isMicrophoneDisableForAllUser?: boolean;
159
+ isScreenShareDisableForAllUser?: boolean;
154
160
  isCameraDisableForAllUser?: boolean;
155
161
  isMessageDisableForAllUser?: boolean;
156
162
  maxSeatCount?: number;
@@ -240,7 +246,7 @@ declare class TUIRoomEngine {
240
246
  seatMode: TUISeatMode;
241
247
  }): Promise<void>;
242
248
  /**
243
- * 获取当前房间用户列表,注意该接口一次拉取的用户列表量最大为 100
249
+ * 获取当前房间用户列表,注意该接口一次拉取的用户列表量最大为 50
244
250
  *
245
251
  * @param {object=} options 获取用户列表的参数
246
252
  * @param {number=} options.nextSequence 偏移量,默认从 0 开始拉取用户<br/>
@@ -278,6 +284,29 @@ declare class TUIRoomEngine {
278
284
  getUserInfo(options: {
279
285
  userId: string;
280
286
  }): Promise<any>;
287
+ /**
288
+ * 设置用户的自定义信息,该接口需要在进房后调用;
289
+ * 主持人可以设置自己,管理员及普通用户的自定义信息;
290
+ * 管理员可以设置自己及普通用户的自定义信息;
291
+ * 普通用户仅可以设置自己的自定义信息;
292
+ * @param {object} options 设置用户的自定义信息
293
+ * @param {string} options.userId 用户 userId
294
+ * @param {object} options.customInfo 用户自定义信息
295
+ *
296
+ * @example
297
+ * const roomEngine = new TUIRoomEngine();
298
+ * await roomEngine.setCustomInfoForUser({
299
+ * userId: 'user_12345',
300
+ * customInfo: {
301
+ * 'key1': 'value1',
302
+ * 'key2': 'value2',
303
+ * }
304
+ * });
305
+ */
306
+ setCustomInfoForUser(options: {
307
+ userId: string;
308
+ customInfo: Record<string, string>;
309
+ }): Promise<void>;
281
310
  /**
282
311
  * 设置本地视频流的渲染位置
283
312
  * @param {object} options 设置本地视频流的渲染位置的参数
@@ -840,8 +869,8 @@ declare class TUIRoomEngine {
840
869
  /**
841
870
  * 麦下用户可调用 takeSeat 成为麦上用户,仅麦上用户可发布本地音视频流。<br/>
842
871
  * 主持人&管理员调用 takeSeat 成功后即为麦上用户。<br/>
843
- * roomInfo.SpeechModeTUISpeechMode.kFreeToSpeak 模式时,普通用户调用 takeSeat 方法成功后即为麦上用户。<br/>
844
- * roomInfo.SpeechModeTUISpeechMode.kSpeakAfterTakingSeat 模式时,普通用户调用 takeSeat 方法需要等待主持人/管理员的同意后成为麦上用户。<br/>
872
+ * roomInfo.seatModeTUISeatMode.kFreeToTake 模式时,普通用户调用 takeSeat 方法成功后即为麦上用户。<br/>
873
+ * roomInfo.seatModeTUISeatMode.kApplyToTake 模式时,普通用户调用 takeSeat 方法需要等待主持人/管理员的同意后成为麦上用户。<br/>
845
874
  * 麦上用户的变更通过 TUIRoomEvents.onSeatListChanged 通知所有用户。<br/>
846
875
  * @param {object} options 获取麦位的参数
847
876
  * @param {number} options.seatIndex 麦位 index, 无麦位序号时设置为 -1
@@ -854,13 +883,13 @@ declare class TUIRoomEngine {
854
883
  * const roomEngine = new TUIRoomEngine();
855
884
  *
856
885
  * // 情景一:主持人/管理员上麦
857
- * // 情景二:roomInfo.SpeechModeTUISpeechMode.kFreeToSpeak 模式时,普通用户上麦
886
+ * // 情景二:roomInfo.seatModeTUISeatMode.kFreeToTake 模式时,普通用户上麦
858
887
  * await roomEngine.takeSeat({
859
888
  * seatIndex: -1,
860
889
  * timeout: 0,
861
890
  * });
862
891
  *
863
- * // 情景三:roomInfo.SpeechModeTUISpeechMode.kSpeakAfterTakingSeat 模式时,普通用户上麦
892
+ * // 情景三:roomInfo.seatModeTUISeatMode.kApplyToTake 模式时,普通用户上麦
864
893
  * const request = await roomEngine.instance?.takeSeat({
865
894
  * seatIndex: -1,
866
895
  * timeout: 0,
@@ -1015,6 +1044,7 @@ declare class TUIRoomEngine {
1015
1044
  }): Promise<void>;
1016
1045
  /**
1017
1046
  * 发送自定义消息
1047
+ * @deprecated 该接口自 v2.0.0 版本废弃,请使用 {@link getTIM} 方法获取 tim 实例发送消息
1018
1048
  * @param {object} options
1019
1049
  * @param {string} options.messageText 自定义消息内容
1020
1050
  * @returns {Promise<void>}
@@ -1273,6 +1303,17 @@ declare class TUIRoomEngine {
1273
1303
  * 停止进行麦克风测试
1274
1304
  */
1275
1305
  stopMicDeviceTest(): Promise<void>;
1306
+ /**
1307
+ * v2.1.0 版本起支持使用 getMediaDeviceManager 获取 deviceManager 模块
1308
+ * @since v2.1.0
1309
+ * @example
1310
+ * // 获取设备管理模块
1311
+ * const deviceManager = roomEngine.getMediaDeviceManager();
1312
+ *
1313
+ * @returns {TUIRoomDeviceManager} deviceManager
1314
+ */
1315
+ getMediaDeviceManager(): TUIRoomDeviceManager;
1316
+ private handleDeviceManagerWASM;
1276
1317
  /**
1277
1318
  * 获取 trtcCloud 实例
1278
1319
  * @returns {TRTCCloud} trtcCloud