@tencentcloud/tuiroom-engine-electron 1.0.2 → 1.2.0
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/README.md +20 -27
- package/index.cjs.js +2 -2
- package/index.d.ts +242 -177
- package/index.esm.js +2 -2
- package/index.js +2 -2
- package/package.json +3 -3
- package/types.d.ts +136 -47
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import TIM from "tim-js-sdk";
|
|
2
2
|
import TRTCCloud, { TRTCDeviceInfo, TRTCScreenCaptureSourceInfo } from 'trtc-electron-sdk';
|
|
3
|
-
import { TUIRoomInfo, TUIVideoStreamType,
|
|
3
|
+
import { TUIRoomInfo, TUIVideoStreamType, TUIVideoQuality, TUIAudioQuality, TUIRole, TUIRoomEvents, TUIRoomType, TUISeatInfo, TUIRequestCallback, TUISpeechMode, TUIMediaDevice, TUISeatLockParams, TUILoginUserInfo, TUIUserInfo, TUIRequest } from './types';
|
|
4
4
|
export * from './types';
|
|
5
5
|
export { TRTCDeviceType, TRTCDeviceState, TRTCDeviceInfo, TRTCVideoMirrorType, TRTCVideoRotation, TRTCVideoFillMode, TRTCVideoStreamType, TRTCScreenCaptureSourceInfo, TRTCScreenCaptureSourceType, Rect, TRTCVideoEncParam, TRTCVideoResolution, TRTCVideoResolutionMode, TRTCScreenCaptureProperty } from 'trtc-electron-sdk';
|
|
6
6
|
/**
|
|
@@ -17,6 +17,8 @@ declare class TUIRoomEngine {
|
|
|
17
17
|
private static Module;
|
|
18
18
|
private logger;
|
|
19
19
|
private roomId;
|
|
20
|
+
private localVideoQuality;
|
|
21
|
+
private LocalAudioQuality;
|
|
20
22
|
static setModule(Module: any): void;
|
|
21
23
|
static once(event: string, func: Function): void;
|
|
22
24
|
constructor();
|
|
@@ -77,6 +79,14 @@ declare class TUIRoomEngine {
|
|
|
77
79
|
userName: string;
|
|
78
80
|
avatarUrl: string;
|
|
79
81
|
}): Promise<void>;
|
|
82
|
+
/** 获取当前用户信息接口
|
|
83
|
+
* @returns {Promise<TUILoginUserInfo>} loginUserInfo
|
|
84
|
+
* 该接口返回用户信息
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* await TUIRoomEngine.getSelfInfo();
|
|
88
|
+
*/
|
|
89
|
+
static getSelfInfo(): Promise<TUILoginUserInfo>;
|
|
80
90
|
/**
|
|
81
91
|
* 登出 TUIRoomEngine, 登出 TUIRoomEngine 时将销毁所有 roomEngine 实例
|
|
82
92
|
*
|
|
@@ -85,45 +95,58 @@ declare class TUIRoomEngine {
|
|
|
85
95
|
*/
|
|
86
96
|
static logout(): Promise<void>;
|
|
87
97
|
/**
|
|
88
|
-
* 主持人创建房间,调用 createRoom 的用户为房间的所有者。创建房间时可设置房间 Id
|
|
98
|
+
* 主持人创建房间,调用 createRoom 的用户为房间的所有者。创建房间时可设置房间 Id,房间名称,房间类型,发言模式以及房间是否允许加入用户开启音视频,发送消息等功能。
|
|
89
99
|
*
|
|
90
100
|
* @param {object} options
|
|
91
101
|
* @param {string} options.roomId 房间 Id,必填, roomId 限制长度为64字节,且仅支持以下范围的字符集:<br>
|
|
92
102
|
* - 大小写英文字母(a-zA-Z)
|
|
93
103
|
* - 数字(0-9)
|
|
94
104
|
* - 空格 ! # $ % & ( ) + - : ; < = . > ? @ [ ] ^ _ { } | ~ ,
|
|
95
|
-
* @param {string} [options.
|
|
96
|
-
* @param {TUIRoomType} [options.roomType] 房间类型,
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* roomType 为 TUIRoomType.
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
+
* @param {string=} [options.roomName=roomId] 房间名称,默认值为 roomId,传入的值不能为空字符串
|
|
106
|
+
* @param {TUIRoomType=} [options.roomType=TUIRoomType.kConference] 房间类型, 默认值为 TUIRoomType.kConference <br>
|
|
107
|
+
* 办公协同、医疗问诊、远程会议、教育场景,roomType 设置为 TUIRoomType.kConference
|
|
108
|
+
* 电商直播、语聊房场景,roomType 设置为 TUIRoomType.kLivingRoom
|
|
109
|
+
* @param {TUISpeechMode=} [options.speechMode=TUISpeechMode.kFreeToSpeak] 房间内发言模式,默认值为 TUISpeechMode.kFreeToSpeak
|
|
110
|
+
* 1. roomType 为 TUIRoomType.kConference (教育及会议场景) 时:
|
|
111
|
+
* a. speechMode 设置为 TUISpeechMode.kFreeToSpeak,用户进房默认可以打开摄像头和麦克风
|
|
112
|
+
* b. speechMode 设置为 TUISpeechMode.kApplyToSpeak,用户进房默认不打开摄像头和麦克风,需要向主持人申请打开摄像头或麦克风
|
|
113
|
+
* TUIRoomType.kConference 场景下,TUISpeechMode.kFreeToSpeak 及 TUISpeechMode.kApplyToSpeak 模式可互相切换
|
|
114
|
+
* c. speechMode 设置为 TUISpeechMode.kSpeakAfterTakingSeat,用户进房后需要调用 takeSeat 上麦接口获取打开摄像头和麦克风的权限
|
|
115
|
+
*
|
|
116
|
+
* 2. roomType 为 TUIRoomType.kLivingRoom (直播场景) 时:
|
|
117
|
+
* a. speechMode 设置为 TUISpeechMode.kFreeToSpeak,上麦不需要主持人同意
|
|
118
|
+
* b. speechMode 设置为 TUISpeechMode.kSpeakAfterTakingSeat,上麦需要主持人同意
|
|
119
|
+
* TUIRoomType.kLivingRoom 场景下,TUISpeechMode.kFreeToSpeak 及 TUISpeechMode.kSpeakAfterTakingSeat 模式可互相切换
|
|
120
|
+
* @param {boolean=} [options.isMicrophoneDisableForAllUser=false] 是否开启全员禁麦,默认不开启全员禁麦(创建房间可选参数)
|
|
121
|
+
* @param {boolean=} [options.isCameraDisableForAllUser=false] 是否开启全员禁画,默认不开启全员禁画(创建房间可选参数)
|
|
122
|
+
* @param {boolean=} [options.isMessageDisableForAllUser=false] 是否允许成员发送消息,默认不禁止(创建房间可选参数)
|
|
123
|
+
* @param {number=} options.maxSeatCount 最大麦位数量 (创建房间可选参数)<br>
|
|
124
|
+
* roomType 为 TUIRoomType.kConference (教育及会议场景) 时,maxSeatCount 值不做限制;
|
|
125
|
+
* roomType 为 TUIRoomType.kLivingRoom (直播场景) 时,maxSeatCount 最大限制为 16;
|
|
126
|
+
* @param {boolean=} [options.enableCDNStreaming=false] 是否开启 CDN 直播流,默认值为 false
|
|
127
|
+
* @param {string=} [options.cdnStreamDomain=''] 直播推流域名,默认值为空
|
|
105
128
|
* @returns {Promise<void>}
|
|
106
129
|
*
|
|
107
130
|
* @example
|
|
108
131
|
* const roomEngine = new TUIRoomEngine();
|
|
109
132
|
* await roomEngine.createRoom({
|
|
110
133
|
* roomId: '12345', // 填入您的房间 Id, 注意房间 Id 要求为字符串类型
|
|
111
|
-
*
|
|
112
|
-
* roomType: TUIRoomType.
|
|
113
|
-
*
|
|
114
|
-
* enableVideo: true, // 设置是否允许加入用户打开视频
|
|
115
|
-
* enableMessage: true, // 设置是否允许加入用户发送消息
|
|
134
|
+
* roomName: 'Test Room', // 填入您的房间名称, 房间名称默认为 roomId,最长 30 字节
|
|
135
|
+
* roomType: TUIRoomType.kConference, // 设置房间类型为 TUIRoomType.kConference 类型
|
|
136
|
+
* speechMode: TUISpeechMode.kFreeToSpeak, // 设置会议模式为自由发言模式
|
|
116
137
|
* });
|
|
117
138
|
*/
|
|
118
139
|
createRoom(options: {
|
|
119
140
|
roomId: string;
|
|
120
|
-
|
|
121
|
-
roomType
|
|
141
|
+
roomName?: string;
|
|
142
|
+
roomType?: TUIRoomType;
|
|
143
|
+
speechMode?: TUISpeechMode;
|
|
144
|
+
isMicrophoneDisableForAllUser?: boolean;
|
|
145
|
+
isCameraDisableForAllUser?: boolean;
|
|
146
|
+
isMessageDisableForAllUser?: boolean;
|
|
122
147
|
maxSeatCount?: number;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
enableMessage?: boolean;
|
|
126
|
-
enableSeatControl?: boolean;
|
|
148
|
+
enableCDNStreaming?: boolean;
|
|
149
|
+
cdnStreamDomain?: string;
|
|
127
150
|
}): Promise<void>;
|
|
128
151
|
/**
|
|
129
152
|
* 进入房间接口
|
|
@@ -134,7 +157,7 @@ declare class TUIRoomEngine {
|
|
|
134
157
|
*
|
|
135
158
|
* @example
|
|
136
159
|
* const roomEngine = new TUIRoomEngine();
|
|
137
|
-
* const
|
|
160
|
+
* const roomDetailInfo = await roomEngine.enterRoom({
|
|
138
161
|
* roomId: '12345',
|
|
139
162
|
* });
|
|
140
163
|
*/
|
|
@@ -142,7 +165,7 @@ declare class TUIRoomEngine {
|
|
|
142
165
|
roomId: string;
|
|
143
166
|
}): Promise<TUIRoomInfo>;
|
|
144
167
|
/**
|
|
145
|
-
*
|
|
168
|
+
* 解散房间接口,解散房间必须由房间所有者发起,解散房间之后房间不可进入
|
|
146
169
|
* @returns {Promise<void>}
|
|
147
170
|
*
|
|
148
171
|
* @example
|
|
@@ -162,42 +185,40 @@ declare class TUIRoomEngine {
|
|
|
162
185
|
/**
|
|
163
186
|
* 获取房间信息
|
|
164
187
|
* @returns {Promise<TUIRoomInfo>} roomInfo
|
|
165
|
-
*
|
|
188
|
+
* 获取房间信息
|
|
166
189
|
*
|
|
167
190
|
* @example
|
|
168
191
|
* const roomEngine = new TUIRoomEngine();
|
|
169
|
-
* const roomInfo = roomEngine.
|
|
192
|
+
* const roomInfo = await roomEngine.fetchRoomInfo();
|
|
170
193
|
*/
|
|
171
|
-
|
|
194
|
+
fetchRoomInfo(): Promise<TUIRoomInfo>;
|
|
172
195
|
/**
|
|
173
|
-
*
|
|
196
|
+
* 更新房间的名字(仅群主或者管理员可以调用)
|
|
197
|
+
* @param {object} options 获取当前房间的名字
|
|
198
|
+
* @param {string} options.roomName 更新当前房间的名字
|
|
199
|
+
* @returns {Promise<void>}
|
|
200
|
+
* @example
|
|
201
|
+
* const roomEngine = new TUIRoomEngine();
|
|
202
|
+
* await roomEngine.createRoom({ roomId: '12345' });
|
|
203
|
+
* await roomEngine.updateRoomNameByAdmin({ roomName: '新的名字' });
|
|
174
204
|
*/
|
|
205
|
+
updateRoomNameByAdmin(options: {
|
|
206
|
+
roomName: string;
|
|
207
|
+
}): Promise<void>;
|
|
175
208
|
/**
|
|
176
|
-
*
|
|
177
|
-
* @param {object}
|
|
178
|
-
* @param {
|
|
179
|
-
* @param {true} roomInfo.enableVideo 更新房间是否允许其他用户开启摄像头
|
|
180
|
-
* @param {true} roomInfo.enableAudio 更新房间是否允许其他用户开启麦克风
|
|
181
|
-
* @param {true} roomInfo.enableMessage 更新房间是否允许其他用户发送消息
|
|
182
|
-
* @param {true} roomInfo.enableSeatControl 更新房间是否进行麦位控制<br/>
|
|
183
|
-
* 注意:enableSeatControl 设置为 true 时为举手发言模式,enableSeatControl 设置为 false 时为自由发言模式。
|
|
184
|
-
* @param {true} roomInfo.maxSeatCount 更新房间麦位最大值<br/>
|
|
185
|
-
* - roomType 为 TUIRoomType.kGroup (教育及会议场景) 时,maxSeatCount 值不做限制;
|
|
186
|
-
* - roomType 为 TUIRoomType.kOpen (直播场景) 时,maxSeatCount 最大限制为 16;
|
|
209
|
+
* 更新房间的发言模式(仅群主或者管理员可以调用)
|
|
210
|
+
* @param {object} options
|
|
211
|
+
* @param {TUISpeechMode} options.speechMode 发言类型
|
|
187
212
|
* @returns {Promise<void>}
|
|
188
213
|
*
|
|
189
214
|
* @example
|
|
190
215
|
* const roomEngine = new TUIRoomEngine();
|
|
191
|
-
* await roomEngine.
|
|
192
|
-
*
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
enableAudio?: boolean;
|
|
198
|
-
enableMessage?: boolean;
|
|
199
|
-
enableSeatControl?: boolean;
|
|
200
|
-
maxSeatCount?: number;
|
|
216
|
+
* await roomEngine.updateRoomSpeechModeByAdmin({
|
|
217
|
+
* speechMode: TUISpeechMode.kSpeakAfterTakingSeat, // 更新为上麦后发言模式
|
|
218
|
+
* });
|
|
219
|
+
*/
|
|
220
|
+
updateRoomSpeechModeByAdmin(options: {
|
|
221
|
+
speechMode: TUISpeechMode;
|
|
201
222
|
}): Promise<void>;
|
|
202
223
|
/**
|
|
203
224
|
* 获取当前房间用户列表,注意该接口一次拉取的用户列表量最大为 100 个
|
|
@@ -210,19 +231,18 @@ declare class TUIRoomEngine {
|
|
|
210
231
|
*
|
|
211
232
|
* @example
|
|
212
233
|
* const roomEngine = new TUIRoomEngine();
|
|
213
|
-
* let result;
|
|
214
234
|
* const userList = [];
|
|
235
|
+
* let result;
|
|
215
236
|
* do {
|
|
216
|
-
* result = await roomEngine.getUserList();
|
|
217
|
-
* userList
|
|
237
|
+
* result = await globalProperties.roomEngine.getUserList();
|
|
238
|
+
* userList.push(...result.userInfoList);
|
|
218
239
|
* } while (result.nextSequence !== 0)
|
|
219
240
|
*/
|
|
220
241
|
getUserList(options?: {
|
|
221
242
|
nextSequence?: Number;
|
|
222
|
-
}): Promise<
|
|
243
|
+
}): Promise<Array<TUIUserInfo>>;
|
|
223
244
|
/**
|
|
224
245
|
* 获取用户的详细信息
|
|
225
|
-
*
|
|
226
246
|
* @param {object} options 获取用户信息的参数
|
|
227
247
|
* @param {string} options.userId 根据 userId 获取该用户的详细信息
|
|
228
248
|
* @returns Promise<TUIUserInfo> userInfo
|
|
@@ -237,6 +257,20 @@ declare class TUIRoomEngine {
|
|
|
237
257
|
getUserInfo(options: {
|
|
238
258
|
userId: string;
|
|
239
259
|
}): Promise<any>;
|
|
260
|
+
/**
|
|
261
|
+
* 设置房间麦位最大值
|
|
262
|
+
* @param {object} options
|
|
263
|
+
* @param {number} options.maxSeatCount 设置房间麦位最大值<br/>
|
|
264
|
+
* roomType 为 TUIRoomType.kConference (教育及会议场景) 时,maxSeatCount 值不做限制;
|
|
265
|
+
* roomType 为 TUIRoomType.kLivingRoom (直播场景) 时,maxSeatCount 最大限制为 16;
|
|
266
|
+
* @returns {Promise<void>}
|
|
267
|
+
* const roomEngine = new TUIRoomEngine();
|
|
268
|
+
* await roomEngine.createRoom({ roomId: '12345' });
|
|
269
|
+
* await roomEngine.setMaxSeatCount({ maxSeatCount: 16 })
|
|
270
|
+
*/
|
|
271
|
+
setMaxSeatCount(options: {
|
|
272
|
+
maxSeatCount: number;
|
|
273
|
+
}): Promise<void>;
|
|
240
274
|
private JSCallNativeRequestFunctionPromise;
|
|
241
275
|
/**
|
|
242
276
|
* 麦下用户可调用 takeSeat 成为麦上用户,仅麦上用户可发布本地音视频流。<br/>
|
|
@@ -249,7 +283,7 @@ declare class TUIRoomEngine {
|
|
|
249
283
|
* @param {number} options.timeout 超时时间。若 timeout 设置为 0,则无超时时间
|
|
250
284
|
* @param {Function} options.requestCallback 请求回调,用来通知发起方请求被接受/拒绝/取消/超时/错误的回调
|
|
251
285
|
* @returns {Promise<number>} <br/>
|
|
252
|
-
* 当 roomIno.enableSeatControl 为 true,普通用户调用该接口时返回
|
|
286
|
+
* 当 roomIno.enableSeatControl 为 true,普通用户调用该接口时返回 request 结构体,普通用户可使用 request.requestId 调用 cancelRequest 接口取消上麦请求。
|
|
253
287
|
*
|
|
254
288
|
* @example
|
|
255
289
|
* const roomEngine = new TUIRoomEngine();
|
|
@@ -262,7 +296,7 @@ declare class TUIRoomEngine {
|
|
|
262
296
|
* });
|
|
263
297
|
*
|
|
264
298
|
* // 情景三:当 roomInfo.enableSeatControl 为 true 时,普通用户上麦
|
|
265
|
-
* const
|
|
299
|
+
* const request = await roomEngine.instance?.takeSeat({
|
|
266
300
|
* seatIndex: -1,
|
|
267
301
|
* timeout: 0,
|
|
268
302
|
* requestCallback: ({ requestCallbackType, requestId, userId, code, message }) => {
|
|
@@ -292,7 +326,7 @@ declare class TUIRoomEngine {
|
|
|
292
326
|
seatIndex: number;
|
|
293
327
|
timeout: number;
|
|
294
328
|
requestCallback?: (callbackInfo: TUIRequestCallback) => void;
|
|
295
|
-
}): Promise<
|
|
329
|
+
}): Promise<TUIRequest>;
|
|
296
330
|
/**
|
|
297
331
|
* 离开麦位
|
|
298
332
|
* @returns {Promise<void>}
|
|
@@ -313,9 +347,29 @@ declare class TUIRoomEngine {
|
|
|
313
347
|
*/
|
|
314
348
|
getSeatList(): Promise<TUISeatInfo[]>;
|
|
315
349
|
/**
|
|
316
|
-
*
|
|
350
|
+
* 锁定某个麦位状态
|
|
351
|
+
*
|
|
352
|
+
* @param {object} options 锁定某个麦位需要的参数
|
|
353
|
+
* @param {number} options.seatIndex 麦位索引
|
|
354
|
+
* @param {TUISeatLockParams} options.lockParams 设备
|
|
355
|
+
* @returns {Promise<void>}
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* const roomEngine = new TUIRoomEngine();
|
|
359
|
+
* await roomEngine.lockSeatByAdmin({
|
|
360
|
+
* seatIndex: -1,
|
|
361
|
+
* lockParams: TUISeatLockParams.lockVideo
|
|
362
|
+
* });
|
|
363
|
+
*/
|
|
364
|
+
lockSeatByAdmin(options: {
|
|
365
|
+
seatIndex: number;
|
|
366
|
+
lockParams: TUISeatLockParams;
|
|
367
|
+
}): Promise<any>;
|
|
368
|
+
/**
|
|
369
|
+
* 请求远端用户打开媒体设备
|
|
317
370
|
* @param {object} options 请求远端用户打开摄像头的参数
|
|
318
371
|
* @param {string} options.userId 用户 Id
|
|
372
|
+
* @param {TUIMediaDevice} options.device 请求的设备
|
|
319
373
|
* @param {number} options.timeout 超时时间。若 timeout 设置为 0 ,则无超时时间
|
|
320
374
|
* @param {Function} 请求回调,用来通知发起方请求被接受/拒绝/取消/超时/错误的回调
|
|
321
375
|
* @return {Promise<number>} <br/>
|
|
@@ -323,8 +377,9 @@ declare class TUIRoomEngine {
|
|
|
323
377
|
*
|
|
324
378
|
* @example
|
|
325
379
|
* const roomEngine = new TUIRoomEngine();
|
|
326
|
-
* const requestId = roomEngine.
|
|
380
|
+
* const requestId = roomEngine.openRemoteDeviceByAdmin({
|
|
327
381
|
* userId: 'user_1234',
|
|
382
|
+
* device: TUIMediaDevice.kMicrophone //请求的设备为麦克风
|
|
328
383
|
* timeout: 0,
|
|
329
384
|
* requestCallback: ({ requestCallbackType, requestId, userId, code, message }) => {
|
|
330
385
|
* switch (requestCallbackType) {
|
|
@@ -349,41 +404,26 @@ declare class TUIRoomEngine {
|
|
|
349
404
|
* },
|
|
350
405
|
* });
|
|
351
406
|
*/
|
|
352
|
-
|
|
407
|
+
openRemoteDeviceByAdmin(options: {
|
|
353
408
|
userId: string;
|
|
409
|
+
device: TUIMediaDevice;
|
|
354
410
|
timeout: number;
|
|
355
411
|
requestCallback?: (callbackInfo: TUIRequestCallback) => void;
|
|
356
|
-
}): Promise<
|
|
412
|
+
}): Promise<TUIRequest>;
|
|
357
413
|
/**
|
|
358
|
-
*
|
|
414
|
+
* 参会者向主持人申请打开设备
|
|
359
415
|
*
|
|
360
|
-
* @param {object} options
|
|
361
|
-
* @param {
|
|
362
|
-
* @
|
|
363
|
-
*
|
|
364
|
-
* @
|
|
365
|
-
* const roomEngine = new TUIRoomEngine();
|
|
366
|
-
* await roomEngine.closeRemoteCamera({
|
|
367
|
-
* userId: 'user_1234',
|
|
368
|
-
* });
|
|
369
|
-
*/
|
|
370
|
-
closeRemoteCamera(options: {
|
|
371
|
-
userId: string;
|
|
372
|
-
}): Promise<void>;
|
|
373
|
-
/**
|
|
374
|
-
* 请求远端用户打开麦克风
|
|
375
|
-
*
|
|
376
|
-
* @param {object} options 请求远端用户打开麦克风的参数
|
|
377
|
-
* @param {string} options.userId 用户 Id
|
|
378
|
-
* @param {number} options.timeout 超时时间,设置为 0 时,无超时时间
|
|
379
|
-
* @param {Function} options.requestCallback 请求回调,用来通知发起方请求被接受/拒绝/取消/超时/错误的回调
|
|
380
|
-
* @returns {Promise<number>} <br/>
|
|
416
|
+
* @param {object} options 请求远端用户打开摄像头的参数
|
|
417
|
+
* @param {TUIMediaDevice} options.device 请求的设备
|
|
418
|
+
* @param {number} options.timeout 超时时间。若 timeout 设置为 0 ,则无超时时间
|
|
419
|
+
* @param {Function} 请求回调,用来通知发起方请求被接受/拒绝/取消/超时/错误的回调
|
|
420
|
+
* @return {Promise<number>} <br/>
|
|
381
421
|
* 该接口返回 requestId,用户可使用该 requestId 调用 cancelRequest 接口取消请求
|
|
382
422
|
*
|
|
383
423
|
* @example
|
|
384
424
|
* const roomEngine = new TUIRoomEngine();
|
|
385
|
-
* const requestId =
|
|
386
|
-
*
|
|
425
|
+
* const requestId = roomEngine.applyToAdminToOpenLocalDevice({
|
|
426
|
+
* device: TUIMediaDevice.kMicrophone, //请求打开麦克风
|
|
387
427
|
* timeout: 0,
|
|
388
428
|
* requestCallback: ({ requestCallbackType, requestId, userId, code, message }) => {
|
|
389
429
|
* switch (requestCallbackType) {
|
|
@@ -408,47 +448,34 @@ declare class TUIRoomEngine {
|
|
|
408
448
|
* },
|
|
409
449
|
* });
|
|
410
450
|
*/
|
|
411
|
-
|
|
412
|
-
|
|
451
|
+
applyToAdminToOpenLocalDevice(options: {
|
|
452
|
+
device: TUIMediaDevice;
|
|
413
453
|
timeout: number;
|
|
414
454
|
requestCallback?: (callbackInfo: TUIRequestCallback) => void;
|
|
415
|
-
}): Promise<
|
|
416
|
-
/**
|
|
417
|
-
* 关闭远端用户麦克风
|
|
418
|
-
*
|
|
419
|
-
* @param {object} options 关闭远端用户麦克风, 仅房间主持人和管理员可调用此方法
|
|
420
|
-
* @param {string} options.userId 用户 Id
|
|
421
|
-
* @returns {Promise<void>}
|
|
422
|
-
*
|
|
423
|
-
* @example
|
|
424
|
-
* const roomEngine = new TUIRoomEngine();
|
|
425
|
-
* await roomEngine.closeRemoteMicrophone({
|
|
426
|
-
* userId: 'user_1234',
|
|
427
|
-
* });
|
|
428
|
-
*/
|
|
429
|
-
closeRemoteMicrophone(options: {
|
|
430
|
-
userId: string;
|
|
431
|
-
}): Promise<void>;
|
|
455
|
+
}): Promise<TUIRequest>;
|
|
432
456
|
/**
|
|
433
|
-
*
|
|
457
|
+
* 关闭远端用户媒体设备
|
|
434
458
|
*
|
|
435
|
-
* @param {object} options
|
|
459
|
+
* @param {object} options 关闭远端用户摄像头的参数
|
|
436
460
|
* @param {string} options.userId 用户 Id
|
|
461
|
+
* @param {TUIMediaDevice} options.device 用户 Id
|
|
437
462
|
* @returns {Promise<void>}
|
|
438
463
|
*
|
|
439
464
|
* @example
|
|
440
465
|
* const roomEngine = new TUIRoomEngine();
|
|
441
|
-
* await roomEngine.
|
|
466
|
+
* await roomEngine.closeRemoteDeviceByAdmin({
|
|
442
467
|
* userId: 'user_1234',
|
|
468
|
+
* device: TUIMediaDevice.kMicrophone, //关闭掉麦克风
|
|
443
469
|
* });
|
|
444
470
|
*/
|
|
445
|
-
|
|
471
|
+
closeRemoteDeviceByAdmin(options: {
|
|
446
472
|
userId: string;
|
|
473
|
+
device: TUIMediaDevice;
|
|
447
474
|
}): Promise<void>;
|
|
448
475
|
/**
|
|
449
476
|
* 邀请其他人上麦
|
|
450
477
|
* @param {object} options 邀请其他人上麦的参数
|
|
451
|
-
* @param {number} options.seatIndex 麦位 index
|
|
478
|
+
* @param {number} options.seatIndex 麦位 index, roomType 为 TUIRoomType.kConference 时无需关心,填 -1 即可
|
|
452
479
|
* @param {string} options.userId 用户 Id
|
|
453
480
|
* @param {number} options.timeout 超时时间,设置为 0 时,无超时时间
|
|
454
481
|
* @param {Function} options.requestCallback 请求回调,用来通知发起方请求被接受/拒绝/取消/超时/错误的回调
|
|
@@ -457,7 +484,7 @@ declare class TUIRoomEngine {
|
|
|
457
484
|
*
|
|
458
485
|
* @example
|
|
459
486
|
* const roomEngine = new TUIRoomEngine();
|
|
460
|
-
* const requestId = await roomEngine.
|
|
487
|
+
* const requestId = await roomEngine.takeUserOnSeatByAdmin({
|
|
461
488
|
* seatIndex: 0,
|
|
462
489
|
* userId: 'user_1234',
|
|
463
490
|
* timeout: 0,
|
|
@@ -484,12 +511,12 @@ declare class TUIRoomEngine {
|
|
|
484
511
|
* },
|
|
485
512
|
* });
|
|
486
513
|
*/
|
|
487
|
-
|
|
514
|
+
takeUserOnSeatByAdmin(options: {
|
|
488
515
|
seatIndex: number;
|
|
489
516
|
userId: string;
|
|
490
517
|
timeout: number;
|
|
491
518
|
requestCallback?: (callbackInfo: TUIRequestCallback) => void;
|
|
492
|
-
}): Promise<
|
|
519
|
+
}): Promise<TUIRequest>;
|
|
493
520
|
/**
|
|
494
521
|
* 要求其他人下麦
|
|
495
522
|
* @param {object} options 要求其他人下麦的参数
|
|
@@ -499,12 +526,12 @@ declare class TUIRoomEngine {
|
|
|
499
526
|
*
|
|
500
527
|
* @example
|
|
501
528
|
* const roomEngine = new TUIRoomEngine();
|
|
502
|
-
* await roomEngine.
|
|
529
|
+
* await roomEngine.kickUserOffSeatByAdmin({
|
|
503
530
|
* seatIndex: 0,
|
|
504
531
|
* userId: 'user_1234',
|
|
505
532
|
* });
|
|
506
533
|
*/
|
|
507
|
-
|
|
534
|
+
kickUserOffSeatByAdmin(options: {
|
|
508
535
|
seatIndex: number;
|
|
509
536
|
userId: string;
|
|
510
537
|
}): Promise<void>;
|
|
@@ -560,31 +587,27 @@ declare class TUIRoomEngine {
|
|
|
560
587
|
* const roomEngine = new TUIRoomEngine();
|
|
561
588
|
*
|
|
562
589
|
* // 设置本地摄像头流的播放区域为 id 是 'preview-camera' 的 div 元素
|
|
563
|
-
*
|
|
590
|
+
* roomEngine.setLocalVideoView({
|
|
564
591
|
* streamType: TUIVideoStreamType.kCameraStream,
|
|
565
592
|
* view: 'preview-camera',
|
|
566
593
|
* });
|
|
567
594
|
*
|
|
568
595
|
* // 设置本地屏幕分享流的播放区域为 id 是 'preview-screen' 的 div 元素
|
|
569
|
-
*
|
|
596
|
+
* roomEngine.setLocalVideoView({
|
|
570
597
|
* streamType: TUIVideoStreamType.kScreenStream,
|
|
571
598
|
* view: 'preview-screen',
|
|
572
599
|
* });
|
|
573
600
|
*/
|
|
574
|
-
|
|
601
|
+
setLocalVideoView(options: {
|
|
575
602
|
streamType: TUIVideoStreamType;
|
|
576
603
|
view: string;
|
|
577
|
-
}):
|
|
604
|
+
}): void;
|
|
578
605
|
/**
|
|
579
606
|
* 打开本地摄像头,开始视频流采集
|
|
607
|
+
* @param {object} options 设置本地流的参数
|
|
580
608
|
* @returns {Promise<void>}
|
|
581
|
-
*
|
|
582
609
|
* @example
|
|
583
610
|
* const roomEngine = new TUIRoomEngine();
|
|
584
|
-
* await roomEngine.setLocalRenderView({
|
|
585
|
-
* streamType: TUIVideoStreamType.kScreenStream,
|
|
586
|
-
* view: 'preview-screen',
|
|
587
|
-
* });
|
|
588
611
|
* await roomEngine.openLocalCamera();
|
|
589
612
|
*/
|
|
590
613
|
openLocalCamera(): Promise<void>;
|
|
@@ -598,7 +621,7 @@ declare class TUIRoomEngine {
|
|
|
598
621
|
*/
|
|
599
622
|
closeLocalCamera(): Promise<void>;
|
|
600
623
|
/**
|
|
601
|
-
*
|
|
624
|
+
* 打开麦克风
|
|
602
625
|
* @returns {Promise<void>}
|
|
603
626
|
*
|
|
604
627
|
* @example
|
|
@@ -616,46 +639,45 @@ declare class TUIRoomEngine {
|
|
|
616
639
|
*/
|
|
617
640
|
closeLocalMicrophone(): Promise<void>;
|
|
618
641
|
/**
|
|
619
|
-
*
|
|
620
|
-
* @param {object} options
|
|
621
|
-
* @param {
|
|
642
|
+
* 设置本地视频流的编码参数
|
|
643
|
+
* @param {object} options
|
|
644
|
+
* @param {TUIVideoQuality} options.quality
|
|
622
645
|
*
|
|
623
|
-
* -
|
|
624
|
-
* -
|
|
625
|
-
* -
|
|
626
|
-
* -
|
|
646
|
+
* - 360p TUIVideoQuality.kVideoQuality_360p <br/>
|
|
647
|
+
* - 540p TUIVideoQuality.kVideoQuality_540p <br/>
|
|
648
|
+
* - 720p TUIVideoQuality.kVideoQuality_720p <br/>
|
|
649
|
+
* - 1080p TUIVideoQuality.kVideoQuality_1080p <br/>
|
|
627
650
|
*
|
|
628
651
|
* @returns {Promise<void>}
|
|
629
652
|
*
|
|
630
653
|
* @example
|
|
631
654
|
* const roomEngine = new TUIRoomEngine();
|
|
632
|
-
* await roomEngine.
|
|
633
|
-
*
|
|
655
|
+
* await roomEngine.updateVideoQuality({
|
|
656
|
+
* quality: TUIVideoQuality.kVideoQuality_360p,
|
|
634
657
|
* });
|
|
635
658
|
*/
|
|
636
|
-
|
|
637
|
-
|
|
659
|
+
updateVideoQuality(options: {
|
|
660
|
+
quality: TUIVideoQuality;
|
|
638
661
|
}): Promise<void>;
|
|
639
662
|
/**
|
|
640
663
|
* 设置本地音频的参数<br/>
|
|
641
|
-
* 注意:该方法需要在 openLocalMicrophone 之前进行设置,否则不会生效。
|
|
642
664
|
* @param {object} options 设置本地音频的参数
|
|
643
|
-
* @param {
|
|
665
|
+
* @param {TUIAudioQuality} options.quality
|
|
644
666
|
*
|
|
645
|
-
* -
|
|
646
|
-
* -
|
|
647
|
-
* -
|
|
667
|
+
* - TUIAudioQuality.kAudioProfileSpeech:语言模式;采样率:16k<br/>
|
|
668
|
+
* - TUIAudioQuality.kAudioProfileDefault:标准模式(或者默认模式);采样率:48k<br/>
|
|
669
|
+
* - TUIAudioQuality.kAudioProfileMusic:音乐模式;采样率:48k
|
|
648
670
|
*
|
|
649
671
|
* @returns {Promise<void>}
|
|
650
672
|
*
|
|
651
673
|
* @example
|
|
652
674
|
* const roomEngine = new TUIRoomEngine();
|
|
653
|
-
* await roomEngine.
|
|
654
|
-
*
|
|
675
|
+
* await roomEngine.updateAudioQuality({
|
|
676
|
+
* quality: TUIAudioQuality.kAudioProfileSpeech,
|
|
655
677
|
* });
|
|
656
678
|
*/
|
|
657
|
-
|
|
658
|
-
|
|
679
|
+
updateAudioQuality(options: {
|
|
680
|
+
quality: TUIAudioQuality;
|
|
659
681
|
}): Promise<void>;
|
|
660
682
|
/**
|
|
661
683
|
* 开始向远端推本地视频流
|
|
@@ -706,20 +728,20 @@ declare class TUIRoomEngine {
|
|
|
706
728
|
* const roomEngine = new TUIRoomEngine();
|
|
707
729
|
*
|
|
708
730
|
* // 设置远端用户视频流在 id 为 'remote_preview_camera' 的区域播放
|
|
709
|
-
* roomEngine.
|
|
731
|
+
* roomEngine.setRemoteVideoView()({
|
|
710
732
|
* userId: 'user_1234',
|
|
711
733
|
* streamType: TUIVideoStreamType.kCameraStream,
|
|
712
734
|
* view: 'remote_preview_camera',
|
|
713
735
|
* });
|
|
714
736
|
*
|
|
715
737
|
* // 设置远端用户屏幕分享流在 id 为 'remote_preview_screen' 的区域播放
|
|
716
|
-
* roomEngine.
|
|
738
|
+
* roomEngine.setRemoteVideoView()({
|
|
717
739
|
* userId: 'user_1234',
|
|
718
740
|
* streamType: TUIVideoStreamType.kScreenStream,
|
|
719
741
|
* view: 'remote_preview_screen',
|
|
720
742
|
* });
|
|
721
743
|
*/
|
|
722
|
-
|
|
744
|
+
setRemoteVideoView(options: {
|
|
723
745
|
userId: string;
|
|
724
746
|
streamType: TUIVideoStreamType;
|
|
725
747
|
view: string;
|
|
@@ -767,11 +789,29 @@ declare class TUIRoomEngine {
|
|
|
767
789
|
userId: string;
|
|
768
790
|
streamType: TUIVideoStreamType;
|
|
769
791
|
}): Promise<void>;
|
|
792
|
+
/**
|
|
793
|
+
* 停止远端用户的音频流
|
|
794
|
+
* @param {object} options 停止远端用户音频流的参数
|
|
795
|
+
* @param {string} options.userId 停止远端用户的userId
|
|
796
|
+
* @param {boolean} options.isMute 是否停止远端用户的音频
|
|
797
|
+
* @returns {Promise<void>}
|
|
798
|
+
*
|
|
799
|
+
* @example
|
|
800
|
+
* const roomEngine = new TUIRoomEngine();
|
|
801
|
+
* await roomEngine.muteRemoteAudioStream({
|
|
802
|
+
* userId: 'user_1234',
|
|
803
|
+
* isMute: true,
|
|
804
|
+
* });
|
|
805
|
+
*/
|
|
806
|
+
muteRemoteAudioStream(options: {
|
|
807
|
+
userId: string;
|
|
808
|
+
isMute: boolean;
|
|
809
|
+
}): Promise<void>;
|
|
770
810
|
/**
|
|
771
811
|
* 改变用户的角色,仅主持人可调用该接口
|
|
772
812
|
* @param {object} options 改变用户的角色,仅主持人可调用该接口的参数
|
|
773
813
|
* @param {string} options.userId 用户 Id
|
|
774
|
-
* @param {TUIRole} options.
|
|
814
|
+
* @param {TUIRole} options.userRole 用户角色
|
|
775
815
|
* @returns {Promise<void>}
|
|
776
816
|
*
|
|
777
817
|
* @example
|
|
@@ -779,60 +819,85 @@ declare class TUIRoomEngine {
|
|
|
779
819
|
* // 将房间移交给用户 user_1234
|
|
780
820
|
* await roomEngine.changeUserRole({
|
|
781
821
|
* userId: 'user_1234',
|
|
782
|
-
*
|
|
822
|
+
* userRole: TUIRole.kRoomOwner,
|
|
823
|
+
* });
|
|
824
|
+
*
|
|
825
|
+
* // 将用户 user_1234 设置为房间管理员
|
|
826
|
+
* await roomEngine.changeUserRole({
|
|
827
|
+
* userId: 'user_1234',
|
|
828
|
+
* userRole: TUIRole.kAdministrator,
|
|
783
829
|
* });
|
|
784
830
|
*/
|
|
785
831
|
changeUserRole(options: {
|
|
786
832
|
userId: string;
|
|
787
|
-
|
|
833
|
+
userRole: TUIRole;
|
|
788
834
|
}): Promise<void>;
|
|
789
835
|
/**
|
|
790
|
-
*
|
|
836
|
+
* 将用户踢出房间,仅主持人和管理员可调用该接口
|
|
791
837
|
* @param {object} options
|
|
792
|
-
* @param {string} options.userId
|
|
793
|
-
* @param {number} options.duration 禁止时长,单位秒。如设为 1000,则表示从现在起禁言该用户 1000 秒
|
|
838
|
+
* @param {string} options.userId 用户 Id
|
|
794
839
|
* @returns {Promise<void>}
|
|
795
840
|
*
|
|
796
841
|
* @example
|
|
797
842
|
* const roomEngine = new TUIRoomEngine();
|
|
798
|
-
* await roomEngine.
|
|
843
|
+
* await roomEngine.kickRemoteUserOutOfRoom({
|
|
799
844
|
* userId: 'user_1234',
|
|
800
|
-
* duration: 1000,
|
|
801
845
|
* });
|
|
802
846
|
*/
|
|
803
|
-
|
|
847
|
+
kickRemoteUserOutOfRoom(options: {
|
|
804
848
|
userId: string;
|
|
805
|
-
duration: number;
|
|
806
849
|
}): Promise<void>;
|
|
807
850
|
/**
|
|
808
|
-
*
|
|
809
|
-
* @param {object} options
|
|
810
|
-
* @param {
|
|
851
|
+
* 所有用户的设备是否允许被使用
|
|
852
|
+
* @param {object} options 所有用户的设备是否被允许使用所用到的参数
|
|
853
|
+
* @param {TUIMediaDevice} options.device 被禁用的设备
|
|
854
|
+
* @param {boolean} options.isDisable 是否被禁用
|
|
811
855
|
* @returns {Promise<void>}
|
|
812
|
-
*
|
|
813
856
|
* @example
|
|
814
|
-
*
|
|
815
|
-
* await roomEngine.
|
|
816
|
-
*
|
|
817
|
-
*
|
|
857
|
+
* // Example 1: 禁止所有用户打开麦克风
|
|
858
|
+
* await roomEngine.disableDeviceForAllUserByAdmin({
|
|
859
|
+
* device: TUIMediaDevice.kMicrophone,
|
|
860
|
+
* isDisable: true,
|
|
861
|
+
* })
|
|
862
|
+
* // Example 2: 允许所有用户打开麦克风
|
|
863
|
+
* await roomEngine.disableDeviceForAllUserByAdmin({
|
|
864
|
+
* device: TUIMediaDevice.kMicrophone,
|
|
865
|
+
* isDisable: false,
|
|
866
|
+
* })
|
|
818
867
|
*/
|
|
819
|
-
|
|
820
|
-
|
|
868
|
+
disableDeviceForAllUserByAdmin(options: {
|
|
869
|
+
device: TUIMediaDevice;
|
|
870
|
+
isDisable: boolean;
|
|
821
871
|
}): Promise<void>;
|
|
822
872
|
/**
|
|
823
|
-
*
|
|
824
|
-
* @param {object} options
|
|
825
|
-
* @param {
|
|
873
|
+
* 所有用户的是否允许发消息
|
|
874
|
+
* @param {object} options 所有用户是否被允许发消息所用到的参数
|
|
875
|
+
* @param {boolean} options.isDisable 是否被允许使用
|
|
826
876
|
* @returns {Promise<void>}
|
|
827
|
-
*
|
|
828
877
|
* @example
|
|
829
|
-
*
|
|
830
|
-
*
|
|
878
|
+
* await roomEngine.disableSendingMessageForAllUser({
|
|
879
|
+
* isDisable: true,
|
|
880
|
+
* })
|
|
881
|
+
|
|
882
|
+
*/
|
|
883
|
+
disableSendingMessageForAllUser(options: {
|
|
884
|
+
isDisable: boolean;
|
|
885
|
+
}): Promise<void>;
|
|
886
|
+
/**
|
|
887
|
+
* 特定用户是否被允许发消息
|
|
888
|
+
* @param {object} options 特定用户的是否被允许发消息所用到的参数
|
|
889
|
+
* @param {string} options.userId 特定用户的 userId
|
|
890
|
+
* @param {boolean} options.isDisable 是否被允许使用
|
|
891
|
+
* @returns {Promise<void>}
|
|
892
|
+
* @example
|
|
893
|
+
* await roomEngine.disableSendingMessageByAdmin({
|
|
831
894
|
* userId: 'user_1234',
|
|
832
|
-
*
|
|
895
|
+
* isDisable: true,
|
|
896
|
+
* })
|
|
833
897
|
*/
|
|
834
|
-
|
|
898
|
+
disableSendingMessageByAdmin(options: {
|
|
835
899
|
userId: string;
|
|
900
|
+
isDisable: boolean;
|
|
836
901
|
}): Promise<void>;
|
|
837
902
|
/**
|
|
838
903
|
* 发送文本消息
|
|
@@ -969,7 +1034,7 @@ declare class TUIRoomEngine {
|
|
|
969
1034
|
* console.info("camera deviceName: " + camera.deviceName + " deviceId:" + camera.deviceId);
|
|
970
1035
|
* }
|
|
971
1036
|
*/
|
|
972
|
-
getCameraDevicesList(): Promise<
|
|
1037
|
+
getCameraDevicesList(): Promise<TRTCDeviceInfo[]>;
|
|
973
1038
|
/**
|
|
974
1039
|
* 获取麦克风设备列表<br>
|
|
975
1040
|
* @returns {Promise<TRTCDeviceInfo[]>} 麦克风列表
|