@tencentcloud/tuiroom-engine-electron 0.0.1 → 0.0.3

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.
Files changed (7) hide show
  1. package/README.md +6 -11
  2. package/index.cjs.js +3621 -3742
  3. package/index.d.ts +1092 -1092
  4. package/index.esm.js +3621 -3742
  5. package/index.js +3621 -3742
  6. package/package.json +1 -1
  7. package/types.d.ts +459 -459
package/types.d.ts CHANGED
@@ -1,459 +1,459 @@
1
- export declare enum TUIErrorCode {
2
- ERR_SUCC = 0,
3
- ERR_FAILED = -1,
4
- ERR_INVALID_PARAMETER = -1001,
5
- ERR_SDK_NOT_INITIALIZED = -1002,
6
- ERR_PERMISSION_DENIED = -1003,
7
- ERR_REQUIRE_PAYMENT = -1004,
8
- ERR_CAMERA_START_FAILED = -1100,
9
- ERR_CAMERA_NOT_AUTHORIZED = 1101,
10
- ERR_CAMERA_OCCUPY = 1102,
11
- ERR_CAMERA_DEVICE_EMPTY = 1103,
12
- ERR_MICROPHONE_START_FAILED = 1104,
13
- ERR_MICROPHONE_NOT_AUTHORIZED = 1105,
14
- ERR_MICROPHONE_OCCUPY = 1106,
15
- ERR_MICROPHONE_DEVICE_EMPTY = 1107,
16
- ERR_GET_SCREEN_SHARING_TARGET_FAILED = 1108,
17
- ERR_START_SCREEN_SHARING_FAILED = 1109,
18
- ERR_ALREADY_ROOM_OWNER = -1200,
19
- ERR_IM_ATTRIBUTE_WRITE_CONFLICT = -1201
20
- }
21
- export type TUIRoomInfo = {
22
- roomId: string;
23
- roomType: TUIRoomType;
24
- owner: string;
25
- name: string;
26
- createTime: number;
27
- roomMemberCount: number;
28
- maxSeatCount: number;
29
- enableVideo: boolean;
30
- enableAudio: boolean;
31
- enableMessage: boolean;
32
- enableSeatControl: boolean;
33
- };
34
- export declare enum TUIRole {
35
- kRoomOwner = 0,
36
- kAdministrator = 1,
37
- kGeneralUser = 2
38
- }
39
- /**
40
- * 消息结构体
41
- * @typedef {object} TUIMessage
42
- * @property {string} messageId 消息 Id
43
- * @property {string} message 消息内容
44
- * @property {number} timestamp 时间戳信息, 精确到秒
45
- * @property {TUIRole} userId 用户 Id
46
- * @property {boolean} userName 用户名称
47
- * @property {boolean} avatarUrl 用户头像地址
48
- */
49
- export type TUIMessage = {
50
- messageId: string;
51
- message: string;
52
- timestamp: number;
53
- userId: string;
54
- userName: string;
55
- avatarUrl: string;
56
- };
57
- export declare enum TUIVideoProfile {
58
- kLowDefinition = 0,
59
- kStandardDefinition = 1,
60
- kHighDefinition = 2,
61
- kSuperDefinition = 3
62
- }
63
- export declare enum TUIAudioProfile {
64
- kAudioProfileSpeech = 0,
65
- kAudioProfileDefault = 1,
66
- kAudioProfileMusic = 2
67
- }
68
- export declare enum TUIVideoStreamType {
69
- kCameraStream = 0,
70
- kScreenStream = 1,
71
- kCameraStreamLow = 2
72
- }
73
- export declare enum TUINetworkQuality {
74
- kQualityUnknown = 0,
75
- kQualityExcellent = 1,
76
- kQualityGood = 2,
77
- kQualityPoor = 3,
78
- kQualityBad = 4,
79
- kQualityVeryBad = 5,
80
- kQualityDown = 6
81
- }
82
- export declare enum TUIRoomType {
83
- kGroup = 1,
84
- kOpen = 2
85
- }
86
- export declare enum TUICaptureSourceType {
87
- kWindow = 0,
88
- kScreen = 1
89
- }
90
- export declare enum TUIChangeReason {
91
- kChangedBySelf = 0,
92
- kChangedByAdmin = 1
93
- }
94
- export declare enum TUIRequestAction {
95
- kInvalidAction = 0,
96
- kRequestToOpenRemoteCamera = 1,
97
- kRequestToOpenRemoteMicrophone = 2,
98
- kRequestToConnectOtherRoom = 3,
99
- kRequestToTakeSeat = 4,
100
- kRequestRemoteUserOnSeat = 5
101
- }
102
- export declare enum TUIRequestCallbackType {
103
- kRequestAccepted = 0,
104
- kRequestRejected = 1,
105
- kRequestCancelled = 2,
106
- kRequestTimeout = 3,
107
- kRequestError = 4
108
- }
109
- export declare enum TRTCRole {
110
- kAnchor = 0,
111
- kAudience = 1
112
- }
113
- export type TUIUserInfo = {
114
- userId: string;
115
- userName: string;
116
- avatarUrl: string;
117
- userRole: TUIRole;
118
- hasAudioStream: boolean;
119
- hasVideoStream: boolean;
120
- hasScreenStream: boolean;
121
- };
122
- export type TUISeatInfo = {
123
- index: number;
124
- userId: string;
125
- locked: boolean;
126
- videoMuted: boolean;
127
- audioMuted: boolean;
128
- };
129
- export type TUIRequest = {
130
- requestAction: TUIRequestAction;
131
- timestamp: number;
132
- requestId: number;
133
- userId: string;
134
- content: string;
135
- };
136
- export type TUIRequestCallback = {
137
- requestCallbackType: TUIRequestCallbackType;
138
- requestId: number;
139
- userId: string;
140
- code: number;
141
- message: string;
142
- };
143
- /**
144
- * **TUIRoomEngine 事件列表**<br>
145
- * @namespace TUIRoomEvents
146
- * @example
147
- * import TUIRoomEngine, { TUIRoomEvents } from 'tui-room-engine-js';
148
- * const roomEngine = new TUIRoomEngine();
149
- * roomEngine.on(TUIRoomEvents.onError, (error) => {
150
- * console.log('roomEngine.error', error);
151
- * })
152
- */
153
- export declare enum TUIRoomEvents {
154
- /**
155
- *
156
- * @description 错误事件
157
- * @event TUIRoomEvents#onError
158
- * @param {object} options
159
- * @param {number} options.code 错误代码
160
- * @param {string} options.message 错误信息
161
- * @example
162
- * const roomEngine = new TUIRoomEngine();
163
- * roomEngine.on(TUIRoomEvents.onError, (error) => {
164
- * console.log('TUIRoomError error', error);
165
- * })
166
- */
167
- onError = "onError",
168
- /**
169
- * @description 踢出房间事件
170
- * @default 'onKickedOutOfRoom'
171
- * @event TUIRoomEvents#onKickedOutOfRoom
172
- * @param {object} options
173
- * @param {string} options.roomId 房间号
174
- * @param {string} options.message 踢出房间信息
175
- * @example
176
- * const roomEngine = new TUIRoomEngine();
177
- * roomEngine.on(TUIRoomEvents.onKickedOutOfRoom, ({ roomId, message }) => {
178
- * console.log('roomEngine.onKickedOutOfRoom', roomId, message);
179
- * });
180
- */
181
- onKickedOutOfRoom = "onKickedOutOfRoom",
182
- /**
183
- * @description 当前用户被踢下线
184
- * @default 'onKickedOffLine'
185
- * @event TUIRoomEvents#onKickedOffLine
186
- * @param {string} options.message 用户被踢下线信息
187
- * @example
188
- * const roomEngine = new TUIRoomEngine();
189
- * roomEngine.on(TUIRoomEvents.onKickedOffLine, ({ message }) => {
190
- * console.log('roomEngine.onKickedOffLine', message);
191
- * });
192
- */
193
- onKickedOffLine = "onKickedOffLine",
194
- /**
195
- * @description userSig 过期事件
196
- * @default 'onUserSigExpired'
197
- * @event TUIRoomEvents#onUserSigExpired
198
- * @example
199
- * const roomEngine = new TUIRoomEngine();
200
- * roomEngine.on(TUIRoomEvents.onUserSigExpired, () => {
201
- * console.log('roomEngine.onUserSigExpired');
202
- * });
203
- */
204
- onUserSigExpired = "onUserSigExpired",
205
- /**
206
- * @description 主持人销毁房间事件
207
- * @default 'onRoomDismissed'
208
- * @event TUIRoomEvents#onRoomDismissed
209
- * @param {object} options
210
- * @param {string} options.roomId 房间号
211
- * @example
212
- * const roomEngine = new TUIRoomEngine();
213
- * roomEngine.on(TUIRoomEvents.onRoomDismissed, ({ roomId }) => {
214
- * console.log('roomEngine.onRoomDismissed', roomId);
215
- * });
216
- */
217
- onRoomDismissed = "onRoomDismissed",
218
- /**
219
- * @description 房间信息修改事件
220
- * @default 'onRoomInfoChanged'
221
- * @event TUIRoomEvents#onRoomInfoChanged
222
- * @param {object} options
223
- * @param {string} options.roomId 房间号
224
- * @param {string} options.roomInfo 房间信息
225
- * @example
226
- * const roomEngine = new TUIRoomEngine();
227
- * roomEngine.on(TUIRoomEvents.onRoomInfoChanged, ({ roomId, roomInfo }) => {
228
- * console.log('roomEngine.onRoomInfoChanged', roomId, roomInfo);
229
- * });
230
- */
231
- onRoomInfoChanged = "onRoomInfoChanged",
232
- /**
233
- * @description 远端用户进入房间事件
234
- * @default 'onRemoteUserEnterRoom'
235
- * @event TUIRoomEvents#onRemoteUserEnterRoom
236
- * @param {object} options
237
- * @param {string} options.roomId 房间号
238
- * @param {TUIUserInfo} options.userInfo 用户信息
239
- * @example
240
- * const roomEngine = new TUIRoomEngine();
241
- * roomEngine.on(TUIRoomEvents.onRemoteUserEnterRoom, ({ roomId, userInfo }) => {
242
- * console.log('roomEngine.onRemoteUserEnterRoom', roomId, userInfo);
243
- * });
244
- */
245
- onRemoteUserEnterRoom = "onRemoteUserEnterRoom",
246
- /**
247
- * @description 远端用户离开房间事件
248
- * @default 'onRemoteUserLeaveRoom'
249
- * @event TUIRoomEvents#onRemoteUserLeaveRoom
250
- * @param {object} options
251
- * @param {string} options.roomId 房间号
252
- * @param {TUIUserInfo} options.userInfo 用户信息
253
- * @example
254
- * const roomEngine = new TUIRoomEngine();
255
- * roomEngine.on(TUIRoomEvents.onRemoteUserLeaveRoom, ({ roomId, userInfo }) => {
256
- * console.log('roomEngine.onRemoteUserLeaveRoom', roomId, userInfo);
257
- * });
258
- */
259
- onRemoteUserLeaveRoom = "onRemoteUserLeaveRoom",
260
- /**
261
- * @description 用户角色改变事件
262
- * @default 'onKickedOutOfRoom'
263
- * @event TUIRoomEvents#onUserRoleChanged
264
- * @param {object} options
265
- * @param {string} options.userId 用户Id
266
- * @param {TUIRole} options.userRole 用户变更后的角色
267
- * @example
268
- * const roomEngine = new TUIRoomEngine();
269
- * roomEngine.on(TUIRoomEvents.onUserRoleChanged, ({ userId, userRole }) => {
270
- * console.log('roomEngine.onUserRoleChanged', userId, userRole);
271
- * });
272
- */
273
- onUserRoleChanged = "onUserRoleChanged",
274
- /**
275
- * @description 用户禁止发文字消息状态改变事件
276
- * @default 'onUserMuteStateChanged'
277
- * @event TUIRoomEvents#onUserMuteStateChanged
278
- * @param {object} options
279
- * @param {string} options.userId 用户Id
280
- * @param {boolean} options.muted 是否被禁止发文字消息
281
- * @example
282
- * const roomEngine = new TUIRoomEngine();
283
- * roomEngine.on(TUIRoomEvents.onUserMuteStateChanged, ({ userId, muted }) => {
284
- * console.log('roomEngine.onUserMuteStateChanged', userId, muted);
285
- * });
286
- */
287
- onUserMuteStateChanged = "onUserMuteStateChanged",
288
- /**
289
- * @description 用户视频状态改变事件
290
- * @default 'onUserVideoStateChanged'
291
- * @event TUIRoomEvents#onUserVideoStateChanged
292
- * @param {object} options
293
- * @param {string} options.userId 用户Id
294
- * @param {TUIVideoStreamType} options.streamType 用户流类型
295
- * @param {boolean} options.hasVideo 是否有视频流
296
- * @param {TUIChangeReason} options.reason 变更原因
297
- * @example
298
- * const roomEngine = new TUIRoomEngine();
299
- * roomEngine.on(TUIRoomEvents.onUserVideoStateChanged, ({ userId, streamType, hasVideo, reason }) => {
300
- * console.log('roomEngine.onUserVideoStateChanged', userId, streamType, hasVideo, reason);
301
- * });
302
- */
303
- onUserVideoStateChanged = "onUserVideoStateChanged",
304
- /**
305
- * @description 用户音频状态改变事件
306
- * @default 'onUserAudioStateChanged'
307
- * @event TUIRoomEvents#onUserAudioStateChanged
308
- * @param {object} options
309
- * @param {string} options.userId 用户Id
310
- * @param {boolean} options.hasVideo 是否有音频流
311
- * @param {TUIChangeReason} options.reason 原因
312
- * @example
313
- * const roomEngine = new TUIRoomEngine();
314
- * roomEngine.on(TUIRoomEvents.onUserAudioStateChanged, ({ userId, hasAudio, reason }) => {
315
- * console.log('roomEngine.onUserAudioStateChanged', userId, hasAudio, reason);
316
- * });
317
- */
318
- onUserAudioStateChanged = "onUserAudioStateChanged",
319
- /**
320
- * @description 用户音量改变事件
321
- * @default 'onUserVoiceVolumeChanged'
322
- * @event TUIRoomEvents#onUserVoiceVolumeChanged
323
- * @param {object} options
324
- * @param {Array<TRTCVolumeInfo>} options.userVolumeList 房间内所有用户的音量, 包含 userId 及 volume 信息,volume 区间为 1~100;
325
- * @example
326
- * const roomEngine = new TUIRoomEngine();
327
- * roomEngine.on(TUIRoomEvents.onUserVoiceVolumeChanged, ({ userVolumeList }) => {
328
- * userVolumeList.forEach(userVolume => {
329
- * console.log('roomEngine.onUserVoiceVolumeChanged', userVolume.userId, userVolume.volume);
330
- * })
331
- * });
332
- */
333
- onUserVoiceVolumeChanged = "onUserVoiceVolumeChanged",
334
- /**
335
- * @description 用户网络质量改变事件
336
- * @default 'onUserNetworkQualityChanged'
337
- * @event TUIRoomEvents#onUserNetworkQualityChanged
338
- * @param {object} options
339
- * @param {TUINetworkQuality} options.networkMap 遍历网络质量等级
340
- * @example
341
- * const roomEngine = new TUIRoomEngine();
342
- * roomEngine.on(TUIRoomEvents.onUserNetworkQualityChanged, ({ userNetworkList }) => {
343
- * userNetworkList.forEach(userNetwork => {
344
- * console.log('roomEngine.onUserNetworkQualityChanged', userNetwork.userId, userNetwork.volume);
345
- * })
346
- * });
347
- */
348
- onUserNetworkQualityChanged = "onUserNetworkQualityChanged",
349
- /**
350
- * @description 麦位控制启用事件
351
- * @default 'onSeatControlEnabled'
352
- * @event TUIRoomEvents#onSeatControlEnabled
353
- * @param {object} options
354
- * @param {boolean} options.enabled 是否启用
355
- * @param {number} options.maxSeatNumber 最大麦位数量
356
- * @example
357
- * const roomEngine = new TUIRoomEngine();
358
- * roomEngine.on(TUIRoomEvents.onSeatControlEnabled, ({ enabled, maxSeatNumber }) => {
359
- * console.log('roomEngine.onSeatControlEnabled', enabled, maxSeatNumber);
360
- * });
361
- */
362
- onSeatControlEnabled = "onSeatControlEnabled",
363
- /**
364
- * @description 麦位列表改变事件
365
- * @default 'onSeatListChanged'
366
- * @event TUIRoomEvents#onSeatListChanged
367
- * @param {object} options
368
- * @param {Array<TUISeatInfo>} options.seatList 麦位列表
369
- * @param {Array<TUISeatInfo>} options.usersSeated 新增麦位信息
370
- * @param {Array<TUISeatInfo>} options.usersLeft 离开的麦位信息
371
- * @example
372
- * const roomEngine = new TUIRoomEngine();
373
- * roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, usersSeated, usersLeft }) => {
374
- * console.log('roomEngine.onSeatListChanged',seatList, usersSeated, usersLeft);
375
- * });
376
- */
377
- onSeatListChanged = "onSeatListChanged",
378
- /**
379
- * @description 请求接收事件
380
- * @default 'onRequestReceived'
381
- * @event TUIRoomEvents#onRequestReceived
382
- * @param {object} options
383
- * @param {TUIRequest} options.request 请求接收
384
- * @example
385
- * const roomEngine = new TUIRoomEngine();
386
- * roomEngine.on(TUIRoomEvents.onRequestReceived, ({ request }) => {
387
- * console.log('roomEngine.onRequestReceived', request);
388
- * });
389
- */
390
- onRequestReceived = "onRequestReceived",
391
- /**
392
- * @description 请求取消事件
393
- * @default 'onRequestCancelled'
394
- * @event TUIRoomEvents#onRequestCancelled
395
- * @param {object} options
396
- * @param {string} options.requestId 请求Id
397
- * @param {string} options.userId 取消请求的用户Id
398
- * @example
399
- * const roomEngine = new TUIRoomEngine();
400
- * roomEngine.on(TUIRoomEvents.onRequestCancelled, ({ requestId, userId }) => {
401
- * console.log('roomEngine.onRequestCancelled', requestId, userId);
402
- * });
403
- */
404
- onRequestCancelled = "onRequestCancelled",
405
- /**
406
- * @description 接收文本消息事件
407
- * @default 'onReceiveTextMessage'
408
- * @event TUIRoomEvents#onReceiveTextMessage
409
- * @param {object} options
410
- * @param {string} options.roomId 房间Id
411
- * @param {TUIMessage} options.message 接收的文本消息
412
- * @example
413
- * const roomEngine = new TUIRoomEngine();
414
- * roomEngine.on(TUIRoomEvents.onReceiveTextMessage, ({ roomId, message }) => {
415
- * console.log('roomEngine.onReceiveTextMessage', roomId, message);
416
- * });
417
- */
418
- onReceiveTextMessage = "onReceiveTextMessage",
419
- /**
420
- * @description 接收自定义消息事件
421
- * @default 'onReceiveCustomMessage'
422
- * @event TUIRoomEvents#onReceiveCustomMessage
423
- * @param {object} options
424
- * @param {string} options.roomId 房间Id
425
- * @param {TUIMessage} options.message 接收的自定义消息
426
- * @example
427
- * const roomEngine = new TUIRoomEngine();
428
- * roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, ({ roomId, message }) => {
429
- * console.log('roomEngine.onReceiveCustomMessage', roomId, message);
430
- * });
431
- */
432
- onReceiveCustomMessage = "onReceiveCustomMessage",
433
- /**
434
- * @description 设备变更事件
435
- * @default 'onDeviceChange'
436
- * @event TUIRoomEvents#onDeviceChange
437
- * @param {object} options
438
- * @param {string} options.deviceId 设备 Id
439
- * @param {TRTCDeviceType} options.type 设备类型
440
- * @param {TRTCDeviceState} options.state 设备变更状态
441
- * @example
442
- * const roomEngine = new TUIRoomEngine();
443
- * roomEngine.on(TUIRoomEvents.onDeviceChange, ({ deviceId, type, state }) => {
444
- * console.log('roomEngine.onReceiveCustomMessage', deviceId, type, state);
445
- * });
446
- */
447
- onDeviceChange = "onDeviceChange",
448
- /**
449
- * @description 屏幕分享停止事件,当用户使用浏览器自带的【停止分享】按钮结束屏幕共享时,该用户会收到 'onUserScreenCaptureStopped' 事件用来修改屏幕共享状态。
450
- * @default 'onUserScreenCaptureStopped'
451
- * @event TUIRoomEvents#onUserScreenCaptureStopped
452
- * @example
453
- * const roomEngine = new TUIRoomEngine();
454
- * roomEngine.on(TUIRoomEvents.onUserScreenCaptureStopped, () => {
455
- * console.log('roomEngine.onReceiveCustomMessage', deviceId, type, state);
456
- * });
457
- */
458
- onUserScreenCaptureStopped = "onUserScreenCaptureStopped"
459
- }
1
+ export declare enum TUIErrorCode {
2
+ ERR_SUCC = 0,
3
+ ERR_FAILED = -1,
4
+ ERR_INVALID_PARAMETER = -1001,
5
+ ERR_SDK_NOT_INITIALIZED = -1002,
6
+ ERR_PERMISSION_DENIED = -1003,
7
+ ERR_REQUIRE_PAYMENT = -1004,
8
+ ERR_CAMERA_START_FAILED = -1100,
9
+ ERR_CAMERA_NOT_AUTHORIZED = 1101,
10
+ ERR_CAMERA_OCCUPY = 1102,
11
+ ERR_CAMERA_DEVICE_EMPTY = 1103,
12
+ ERR_MICROPHONE_START_FAILED = 1104,
13
+ ERR_MICROPHONE_NOT_AUTHORIZED = 1105,
14
+ ERR_MICROPHONE_OCCUPY = 1106,
15
+ ERR_MICROPHONE_DEVICE_EMPTY = 1107,
16
+ ERR_GET_SCREEN_SHARING_TARGET_FAILED = 1108,
17
+ ERR_START_SCREEN_SHARING_FAILED = 1109,
18
+ ERR_ALREADY_ROOM_OWNER = -1200,
19
+ ERR_IM_ATTRIBUTE_WRITE_CONFLICT = -1201
20
+ }
21
+ export type TUIRoomInfo = {
22
+ roomId: string;
23
+ roomType: TUIRoomType;
24
+ owner: string;
25
+ name: string;
26
+ createTime: number;
27
+ roomMemberCount: number;
28
+ maxSeatCount: number;
29
+ enableVideo: boolean;
30
+ enableAudio: boolean;
31
+ enableMessage: boolean;
32
+ enableSeatControl: boolean;
33
+ };
34
+ export declare enum TUIRole {
35
+ kRoomOwner = 0,
36
+ kAdministrator = 1,
37
+ kGeneralUser = 2
38
+ }
39
+ /**
40
+ * 消息结构体
41
+ * @typedef {object} TUIMessage
42
+ * @property {string} messageId 消息 Id
43
+ * @property {string} message 消息内容
44
+ * @property {number} timestamp 时间戳信息, 精确到秒
45
+ * @property {TUIRole} userId 用户 Id
46
+ * @property {boolean} userName 用户名称
47
+ * @property {boolean} avatarUrl 用户头像地址
48
+ */
49
+ export type TUIMessage = {
50
+ messageId: string;
51
+ message: string;
52
+ timestamp: number;
53
+ userId: string;
54
+ userName: string;
55
+ avatarUrl: string;
56
+ };
57
+ export declare enum TUIVideoProfile {
58
+ kLowDefinition = 0,
59
+ kStandardDefinition = 1,
60
+ kHighDefinition = 2,
61
+ kSuperDefinition = 3
62
+ }
63
+ export declare enum TUIAudioProfile {
64
+ kAudioProfileSpeech = 0,
65
+ kAudioProfileDefault = 1,
66
+ kAudioProfileMusic = 2
67
+ }
68
+ export declare enum TUIVideoStreamType {
69
+ kCameraStream = 0,
70
+ kScreenStream = 1,
71
+ kCameraStreamLow = 2
72
+ }
73
+ export declare enum TUINetworkQuality {
74
+ kQualityUnknown = 0,
75
+ kQualityExcellent = 1,
76
+ kQualityGood = 2,
77
+ kQualityPoor = 3,
78
+ kQualityBad = 4,
79
+ kQualityVeryBad = 5,
80
+ kQualityDown = 6
81
+ }
82
+ export declare enum TUIRoomType {
83
+ kGroup = 1,
84
+ kOpen = 2
85
+ }
86
+ export declare enum TUICaptureSourceType {
87
+ kWindow = 0,
88
+ kScreen = 1
89
+ }
90
+ export declare enum TUIChangeReason {
91
+ kChangedBySelf = 0,
92
+ kChangedByAdmin = 1
93
+ }
94
+ export declare enum TUIRequestAction {
95
+ kInvalidAction = 0,
96
+ kRequestToOpenRemoteCamera = 1,
97
+ kRequestToOpenRemoteMicrophone = 2,
98
+ kRequestToConnectOtherRoom = 3,
99
+ kRequestToTakeSeat = 4,
100
+ kRequestRemoteUserOnSeat = 5
101
+ }
102
+ export declare enum TUIRequestCallbackType {
103
+ kRequestAccepted = 0,
104
+ kRequestRejected = 1,
105
+ kRequestCancelled = 2,
106
+ kRequestTimeout = 3,
107
+ kRequestError = 4
108
+ }
109
+ export declare enum TRTCRole {
110
+ kAnchor = 0,
111
+ kAudience = 1
112
+ }
113
+ export type TUIUserInfo = {
114
+ userId: string;
115
+ userName: string;
116
+ avatarUrl: string;
117
+ userRole: TUIRole;
118
+ hasAudioStream: boolean;
119
+ hasVideoStream: boolean;
120
+ hasScreenStream: boolean;
121
+ };
122
+ export type TUISeatInfo = {
123
+ index: number;
124
+ userId: string;
125
+ locked: boolean;
126
+ videoMuted: boolean;
127
+ audioMuted: boolean;
128
+ };
129
+ export type TUIRequest = {
130
+ requestAction: TUIRequestAction;
131
+ timestamp: number;
132
+ requestId: number;
133
+ userId: string;
134
+ content: string;
135
+ };
136
+ export type TUIRequestCallback = {
137
+ requestCallbackType: TUIRequestCallbackType;
138
+ requestId: number;
139
+ userId: string;
140
+ code: number;
141
+ message: string;
142
+ };
143
+ /**
144
+ * **TUIRoomEngine 事件列表**<br>
145
+ * @namespace TUIRoomEvents
146
+ * @example
147
+ * import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-electron';
148
+ * const roomEngine = new TUIRoomEngine();
149
+ * roomEngine.on(TUIRoomEvents.onError, (error) => {
150
+ * console.log('roomEngine.error', error);
151
+ * })
152
+ */
153
+ export declare enum TUIRoomEvents {
154
+ /**
155
+ *
156
+ * @description 错误事件
157
+ * @event TUIRoomEvents#onError
158
+ * @param {object} options
159
+ * @param {number} options.code 错误代码
160
+ * @param {string} options.message 错误信息
161
+ * @example
162
+ * const roomEngine = new TUIRoomEngine();
163
+ * roomEngine.on(TUIRoomEvents.onError, (error) => {
164
+ * console.log('TUIRoomError error', error);
165
+ * })
166
+ */
167
+ onError = "onError",
168
+ /**
169
+ * @description 踢出房间事件
170
+ * @default 'onKickedOutOfRoom'
171
+ * @event TUIRoomEvents#onKickedOutOfRoom
172
+ * @param {object} options
173
+ * @param {string} options.roomId 房间号
174
+ * @param {string} options.message 踢出房间信息
175
+ * @example
176
+ * const roomEngine = new TUIRoomEngine();
177
+ * roomEngine.on(TUIRoomEvents.onKickedOutOfRoom, ({ roomId, message }) => {
178
+ * console.log('roomEngine.onKickedOutOfRoom', roomId, message);
179
+ * });
180
+ */
181
+ onKickedOutOfRoom = "onKickedOutOfRoom",
182
+ /**
183
+ * @description 当前用户被踢下线
184
+ * @default 'onKickedOffLine'
185
+ * @event TUIRoomEvents#onKickedOffLine
186
+ * @param {string} options.message 用户被踢下线信息
187
+ * @example
188
+ * const roomEngine = new TUIRoomEngine();
189
+ * roomEngine.on(TUIRoomEvents.onKickedOffLine, ({ message }) => {
190
+ * console.log('roomEngine.onKickedOffLine', message);
191
+ * });
192
+ */
193
+ onKickedOffLine = "onKickedOffLine",
194
+ /**
195
+ * @description userSig 过期事件
196
+ * @default 'onUserSigExpired'
197
+ * @event TUIRoomEvents#onUserSigExpired
198
+ * @example
199
+ * const roomEngine = new TUIRoomEngine();
200
+ * roomEngine.on(TUIRoomEvents.onUserSigExpired, () => {
201
+ * console.log('roomEngine.onUserSigExpired');
202
+ * });
203
+ */
204
+ onUserSigExpired = "onUserSigExpired",
205
+ /**
206
+ * @description 主持人销毁房间事件
207
+ * @default 'onRoomDismissed'
208
+ * @event TUIRoomEvents#onRoomDismissed
209
+ * @param {object} options
210
+ * @param {string} options.roomId 房间号
211
+ * @example
212
+ * const roomEngine = new TUIRoomEngine();
213
+ * roomEngine.on(TUIRoomEvents.onRoomDismissed, ({ roomId }) => {
214
+ * console.log('roomEngine.onRoomDismissed', roomId);
215
+ * });
216
+ */
217
+ onRoomDismissed = "onRoomDismissed",
218
+ /**
219
+ * @description 房间信息修改事件
220
+ * @default 'onRoomInfoChanged'
221
+ * @event TUIRoomEvents#onRoomInfoChanged
222
+ * @param {object} options
223
+ * @param {string} options.roomId 房间号
224
+ * @param {string} options.roomInfo 房间信息
225
+ * @example
226
+ * const roomEngine = new TUIRoomEngine();
227
+ * roomEngine.on(TUIRoomEvents.onRoomInfoChanged, ({ roomId, roomInfo }) => {
228
+ * console.log('roomEngine.onRoomInfoChanged', roomId, roomInfo);
229
+ * });
230
+ */
231
+ onRoomInfoChanged = "onRoomInfoChanged",
232
+ /**
233
+ * @description 远端用户进入房间事件
234
+ * @default 'onRemoteUserEnterRoom'
235
+ * @event TUIRoomEvents#onRemoteUserEnterRoom
236
+ * @param {object} options
237
+ * @param {string} options.roomId 房间号
238
+ * @param {TUIUserInfo} options.userInfo 用户信息
239
+ * @example
240
+ * const roomEngine = new TUIRoomEngine();
241
+ * roomEngine.on(TUIRoomEvents.onRemoteUserEnterRoom, ({ roomId, userInfo }) => {
242
+ * console.log('roomEngine.onRemoteUserEnterRoom', roomId, userInfo);
243
+ * });
244
+ */
245
+ onRemoteUserEnterRoom = "onRemoteUserEnterRoom",
246
+ /**
247
+ * @description 远端用户离开房间事件
248
+ * @default 'onRemoteUserLeaveRoom'
249
+ * @event TUIRoomEvents#onRemoteUserLeaveRoom
250
+ * @param {object} options
251
+ * @param {string} options.roomId 房间号
252
+ * @param {TUIUserInfo} options.userInfo 用户信息
253
+ * @example
254
+ * const roomEngine = new TUIRoomEngine();
255
+ * roomEngine.on(TUIRoomEvents.onRemoteUserLeaveRoom, ({ roomId, userInfo }) => {
256
+ * console.log('roomEngine.onRemoteUserLeaveRoom', roomId, userInfo);
257
+ * });
258
+ */
259
+ onRemoteUserLeaveRoom = "onRemoteUserLeaveRoom",
260
+ /**
261
+ * @description 用户角色改变事件
262
+ * @default 'onKickedOutOfRoom'
263
+ * @event TUIRoomEvents#onUserRoleChanged
264
+ * @param {object} options
265
+ * @param {string} options.userId 用户Id
266
+ * @param {TUIRole} options.userRole 用户变更后的角色
267
+ * @example
268
+ * const roomEngine = new TUIRoomEngine();
269
+ * roomEngine.on(TUIRoomEvents.onUserRoleChanged, ({ userId, userRole }) => {
270
+ * console.log('roomEngine.onUserRoleChanged', userId, userRole);
271
+ * });
272
+ */
273
+ onUserRoleChanged = "onUserRoleChanged",
274
+ /**
275
+ * @description 用户禁止发文字消息状态改变事件
276
+ * @default 'onUserMuteStateChanged'
277
+ * @event TUIRoomEvents#onUserMuteStateChanged
278
+ * @param {object} options
279
+ * @param {string} options.userId 用户Id
280
+ * @param {boolean} options.muted 是否被禁止发文字消息
281
+ * @example
282
+ * const roomEngine = new TUIRoomEngine();
283
+ * roomEngine.on(TUIRoomEvents.onUserMuteStateChanged, ({ userId, muted }) => {
284
+ * console.log('roomEngine.onUserMuteStateChanged', userId, muted);
285
+ * });
286
+ */
287
+ onUserMuteStateChanged = "onUserMuteStateChanged",
288
+ /**
289
+ * @description 用户视频状态改变事件
290
+ * @default 'onUserVideoStateChanged'
291
+ * @event TUIRoomEvents#onUserVideoStateChanged
292
+ * @param {object} options
293
+ * @param {string} options.userId 用户Id
294
+ * @param {TUIVideoStreamType} options.streamType 用户流类型
295
+ * @param {boolean} options.hasVideo 是否有视频流
296
+ * @param {TUIChangeReason} options.reason 变更原因
297
+ * @example
298
+ * const roomEngine = new TUIRoomEngine();
299
+ * roomEngine.on(TUIRoomEvents.onUserVideoStateChanged, ({ userId, streamType, hasVideo, reason }) => {
300
+ * console.log('roomEngine.onUserVideoStateChanged', userId, streamType, hasVideo, reason);
301
+ * });
302
+ */
303
+ onUserVideoStateChanged = "onUserVideoStateChanged",
304
+ /**
305
+ * @description 用户音频状态改变事件
306
+ * @default 'onUserAudioStateChanged'
307
+ * @event TUIRoomEvents#onUserAudioStateChanged
308
+ * @param {object} options
309
+ * @param {string} options.userId 用户Id
310
+ * @param {boolean} options.hasVideo 是否有音频流
311
+ * @param {TUIChangeReason} options.reason 原因
312
+ * @example
313
+ * const roomEngine = new TUIRoomEngine();
314
+ * roomEngine.on(TUIRoomEvents.onUserAudioStateChanged, ({ userId, hasAudio, reason }) => {
315
+ * console.log('roomEngine.onUserAudioStateChanged', userId, hasAudio, reason);
316
+ * });
317
+ */
318
+ onUserAudioStateChanged = "onUserAudioStateChanged",
319
+ /**
320
+ * @description 用户音量改变事件
321
+ * @default 'onUserVoiceVolumeChanged'
322
+ * @event TUIRoomEvents#onUserVoiceVolumeChanged
323
+ * @param {object} options
324
+ * @param {Array<TRTCVolumeInfo>} options.userVolumeList 房间内所有用户的音量, 包含 userId 及 volume 信息,volume 区间为 1~100;
325
+ * @example
326
+ * const roomEngine = new TUIRoomEngine();
327
+ * roomEngine.on(TUIRoomEvents.onUserVoiceVolumeChanged, ({ userVolumeList }) => {
328
+ * userVolumeList.forEach(userVolume => {
329
+ * console.log('roomEngine.onUserVoiceVolumeChanged', userVolume.userId, userVolume.volume);
330
+ * })
331
+ * });
332
+ */
333
+ onUserVoiceVolumeChanged = "onUserVoiceVolumeChanged",
334
+ /**
335
+ * @description 用户网络质量改变事件
336
+ * @default 'onUserNetworkQualityChanged'
337
+ * @event TUIRoomEvents#onUserNetworkQualityChanged
338
+ * @param {object} options
339
+ * @param {TUINetworkQuality} options.networkMap 遍历网络质量等级
340
+ * @example
341
+ * const roomEngine = new TUIRoomEngine();
342
+ * roomEngine.on(TUIRoomEvents.onUserNetworkQualityChanged, ({ userNetworkList }) => {
343
+ * userNetworkList.forEach(userNetwork => {
344
+ * console.log('roomEngine.onUserNetworkQualityChanged', userNetwork.userId, userNetwork.volume);
345
+ * })
346
+ * });
347
+ */
348
+ onUserNetworkQualityChanged = "onUserNetworkQualityChanged",
349
+ /**
350
+ * @description 麦位控制启用事件
351
+ * @default 'onSeatControlEnabled'
352
+ * @event TUIRoomEvents#onSeatControlEnabled
353
+ * @param {object} options
354
+ * @param {boolean} options.enabled 是否启用
355
+ * @param {number} options.maxSeatNumber 最大麦位数量
356
+ * @example
357
+ * const roomEngine = new TUIRoomEngine();
358
+ * roomEngine.on(TUIRoomEvents.onSeatControlEnabled, ({ enabled, maxSeatNumber }) => {
359
+ * console.log('roomEngine.onSeatControlEnabled', enabled, maxSeatNumber);
360
+ * });
361
+ */
362
+ onSeatControlEnabled = "onSeatControlEnabled",
363
+ /**
364
+ * @description 麦位列表改变事件
365
+ * @default 'onSeatListChanged'
366
+ * @event TUIRoomEvents#onSeatListChanged
367
+ * @param {object} options
368
+ * @param {Array<TUISeatInfo>} options.seatList 麦位列表
369
+ * @param {Array<TUISeatInfo>} options.usersSeated 新增麦位信息
370
+ * @param {Array<TUISeatInfo>} options.usersLeft 离开的麦位信息
371
+ * @example
372
+ * const roomEngine = new TUIRoomEngine();
373
+ * roomEngine.on(TUIRoomEvents.onSeatListChanged, ({ seatList, usersSeated, usersLeft }) => {
374
+ * console.log('roomEngine.onSeatListChanged',seatList, usersSeated, usersLeft);
375
+ * });
376
+ */
377
+ onSeatListChanged = "onSeatListChanged",
378
+ /**
379
+ * @description 请求接收事件
380
+ * @default 'onRequestReceived'
381
+ * @event TUIRoomEvents#onRequestReceived
382
+ * @param {object} options
383
+ * @param {TUIRequest} options.request 请求接收
384
+ * @example
385
+ * const roomEngine = new TUIRoomEngine();
386
+ * roomEngine.on(TUIRoomEvents.onRequestReceived, ({ request }) => {
387
+ * console.log('roomEngine.onRequestReceived', request);
388
+ * });
389
+ */
390
+ onRequestReceived = "onRequestReceived",
391
+ /**
392
+ * @description 请求取消事件
393
+ * @default 'onRequestCancelled'
394
+ * @event TUIRoomEvents#onRequestCancelled
395
+ * @param {object} options
396
+ * @param {string} options.requestId 请求Id
397
+ * @param {string} options.userId 取消请求的用户Id
398
+ * @example
399
+ * const roomEngine = new TUIRoomEngine();
400
+ * roomEngine.on(TUIRoomEvents.onRequestCancelled, ({ requestId, userId }) => {
401
+ * console.log('roomEngine.onRequestCancelled', requestId, userId);
402
+ * });
403
+ */
404
+ onRequestCancelled = "onRequestCancelled",
405
+ /**
406
+ * @description 接收文本消息事件
407
+ * @default 'onReceiveTextMessage'
408
+ * @event TUIRoomEvents#onReceiveTextMessage
409
+ * @param {object} options
410
+ * @param {string} options.roomId 房间Id
411
+ * @param {TUIMessage} options.message 接收的文本消息
412
+ * @example
413
+ * const roomEngine = new TUIRoomEngine();
414
+ * roomEngine.on(TUIRoomEvents.onReceiveTextMessage, ({ roomId, message }) => {
415
+ * console.log('roomEngine.onReceiveTextMessage', roomId, message);
416
+ * });
417
+ */
418
+ onReceiveTextMessage = "onReceiveTextMessage",
419
+ /**
420
+ * @description 接收自定义消息事件
421
+ * @default 'onReceiveCustomMessage'
422
+ * @event TUIRoomEvents#onReceiveCustomMessage
423
+ * @param {object} options
424
+ * @param {string} options.roomId 房间Id
425
+ * @param {TUIMessage} options.message 接收的自定义消息
426
+ * @example
427
+ * const roomEngine = new TUIRoomEngine();
428
+ * roomEngine.on(TUIRoomEvents.onReceiveCustomMessage, ({ roomId, message }) => {
429
+ * console.log('roomEngine.onReceiveCustomMessage', roomId, message);
430
+ * });
431
+ */
432
+ onReceiveCustomMessage = "onReceiveCustomMessage",
433
+ /**
434
+ * @description 设备变更事件
435
+ * @default 'onDeviceChange'
436
+ * @event TUIRoomEvents#onDeviceChange
437
+ * @param {object} options
438
+ * @param {string} options.deviceId 设备 Id
439
+ * @param {TRTCDeviceType} options.type 设备类型
440
+ * @param {TRTCDeviceState} options.state 设备变更状态
441
+ * @example
442
+ * const roomEngine = new TUIRoomEngine();
443
+ * roomEngine.on(TUIRoomEvents.onDeviceChange, ({ deviceId, type, state }) => {
444
+ * console.log('roomEngine.onReceiveCustomMessage', deviceId, type, state);
445
+ * });
446
+ */
447
+ onDeviceChange = "onDeviceChange",
448
+ /**
449
+ * @description 屏幕分享停止事件,当用户使用浏览器自带的【停止分享】按钮结束屏幕共享时,该用户会收到 'onUserScreenCaptureStopped' 事件用来修改屏幕共享状态。
450
+ * @default 'onUserScreenCaptureStopped'
451
+ * @event TUIRoomEvents#onUserScreenCaptureStopped
452
+ * @example
453
+ * const roomEngine = new TUIRoomEngine();
454
+ * roomEngine.on(TUIRoomEvents.onUserScreenCaptureStopped, () => {
455
+ * console.log('roomEngine.onReceiveCustomMessage', deviceId, type, state);
456
+ * });
457
+ */
458
+ onUserScreenCaptureStopped = "onUserScreenCaptureStopped"
459
+ }