trtc-electron-sdk 10.2.0-beta.1 → 10.2.8-beta.2
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/liteav/trtc.10.0.100-beta.12.d.ts +2036 -0
- package/liteav/trtc.10.0.100-beta.12.js +3789 -0
- package/liteav/trtc.d.ts +65 -39
- package/liteav/trtc.js +198 -112
- package/liteav/trtc_define.d.ts +5 -6
- package/liteav/trtc_define.js +6 -7
- package/package.json +1 -1
|
@@ -0,0 +1,2036 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import { AudioMusicParam, Rect, TRTCAppScene, TRTCAudioEffectParam, TRTCAudioQuality, TRTCBeautyStyle, TRTCDeviceState, TRTCDeviceType, TRTCLogLevel, TRTCRenderParams, TRTCRoleType, TRTCSwitchRoomParam, TRTCVideoBufferType, TRTCVideoFillMode, TRTCVideoFrame, TRTCVideoPixelFormat, TRTCVideoRotation, TRTCVideoStreamType, TRTCWaterMarkSrcType, PluginInfo, TRTCAudioRecordingParams, TRTCScreenCaptureSourceInfo, TRTCScreenCaptureProperty } from './trtc_define';
|
|
4
|
+
export * from './trtc_define';
|
|
5
|
+
export * from './trtc_code';
|
|
6
|
+
/**
|
|
7
|
+
* 腾讯云视频通话功能的主要接口类
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // 创建/使用/销毁 TRTCCloud 对象的示例代码:
|
|
12
|
+
* import TRTCCloud from 'trtc-electron-sdk';
|
|
13
|
+
* this.rtcCloud = new TRTCCloud();
|
|
14
|
+
* // 获取 SDK 版本号
|
|
15
|
+
* let version = this.rtcCloud.getSDKVersion();
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
declare class TRTCCloud extends EventEmitter {
|
|
19
|
+
private rtcCloud;
|
|
20
|
+
private streams;
|
|
21
|
+
private firstVideoFrameList;
|
|
22
|
+
private playStreamType;
|
|
23
|
+
private renderMode;
|
|
24
|
+
private localFillMode;
|
|
25
|
+
private imageData;
|
|
26
|
+
private localVideoCallback;
|
|
27
|
+
private remoteVideoCallback;
|
|
28
|
+
private isExternalRenderEnabled;
|
|
29
|
+
private pixelformate;
|
|
30
|
+
private pixelLength;
|
|
31
|
+
private localRotation;
|
|
32
|
+
private localMirrorType;
|
|
33
|
+
private remoteMainStreamFillMode;
|
|
34
|
+
private remoteMainStreamRotation;
|
|
35
|
+
private remoteMainStreamMirrorType;
|
|
36
|
+
private remoteSubStreamFillMode;
|
|
37
|
+
private remoteSubStreamRotation;
|
|
38
|
+
private remoteSubStreamMirrorType;
|
|
39
|
+
private priorRemoteVideoStreamType;
|
|
40
|
+
private audioQuality;
|
|
41
|
+
private bgmId;
|
|
42
|
+
private playAudioEffectIdList;
|
|
43
|
+
private enableRenderFrame;
|
|
44
|
+
private screenCaptureStreamType;
|
|
45
|
+
private isScreenCapturing;
|
|
46
|
+
constructor();
|
|
47
|
+
/**
|
|
48
|
+
* 创建 TRTCCloud 对象单例
|
|
49
|
+
* @returns {TRTCCloud}
|
|
50
|
+
*/
|
|
51
|
+
static getTRTCShareInstance(): TRTCCloud;
|
|
52
|
+
/**
|
|
53
|
+
* 释放 TRTCCloud 对象并清理资源
|
|
54
|
+
*/
|
|
55
|
+
static destroyTRTCShareInstance(): void;
|
|
56
|
+
/**
|
|
57
|
+
* 获取配置对象, 可用来打开 debug 模式
|
|
58
|
+
*/
|
|
59
|
+
getConfigObject(): import("./Render/util").Config;
|
|
60
|
+
setExternalRenderEnabled(enabled: boolean): void;
|
|
61
|
+
/**
|
|
62
|
+
* 清理资源
|
|
63
|
+
*/
|
|
64
|
+
destroy(): void;
|
|
65
|
+
/**
|
|
66
|
+
* 设置 TRTCCloud 回调
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* // 创建/使用/销毁 TRTCCloud 对象的示例代码:
|
|
70
|
+
* import TRTCCloud from 'trtc-electron-sdk';
|
|
71
|
+
* this.rtcCloud = new TRTCCloud();
|
|
72
|
+
*
|
|
73
|
+
* // 注册回调的方法,事件关键字详见下方"通用事件回调"
|
|
74
|
+
* subscribeEvents = (rtcCloud) => {
|
|
75
|
+
* rtcCloud.on('onError', (errcode, errmsg) => {
|
|
76
|
+
* console.info('trtc_demo: onError :' + errcode + " msg" + errmsg);
|
|
77
|
+
* });
|
|
78
|
+
* };
|
|
79
|
+
*
|
|
80
|
+
* @namespace TRTCCallback
|
|
81
|
+
*/
|
|
82
|
+
initEventHandler(): void;
|
|
83
|
+
fire(event: string, ...args: any): void;
|
|
84
|
+
/**
|
|
85
|
+
* 1.1 错误回调:SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示。
|
|
86
|
+
*
|
|
87
|
+
* @event TRTCCallback#onError
|
|
88
|
+
* @param {Number} errCode - 错误码
|
|
89
|
+
* @param {String} errMsg - 错误信息
|
|
90
|
+
*/
|
|
91
|
+
handleOnError(errCode: number, errMsg: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* 1.2 警告回调:用于告知您一些非严重性问题,例如出现了卡顿或者可恢复的解码失败。
|
|
94
|
+
*
|
|
95
|
+
* @event TRTCCallback#onWarning
|
|
96
|
+
* @param {Number} warningCode - 警告码
|
|
97
|
+
* @param {String} warningMsg - 警告信息
|
|
98
|
+
*/
|
|
99
|
+
handleOnWarning(warningCode: number, warningMsg: string): void;
|
|
100
|
+
/**
|
|
101
|
+
* 2.1 已加入房间的回调
|
|
102
|
+
*
|
|
103
|
+
* 调用 TRTCCloud 中的 [enterRoom()]{@link TRTCCloud#enterRoom} 接口执行进房操作后,会收到来自 SDK 的 onEnterRoom(result) 回调:
|
|
104
|
+
* 如果加入成功,result 会是一个正数(result > 0),代表加入房间的时间消耗,单位是毫秒(ms)。
|
|
105
|
+
* 如果加入失败,result 会是一个负数(result < 0),代表进房失败的错误码。
|
|
106
|
+
* 进房失败的错误码含义请参见 [错误码](https://cloud.tencent.com/document/product/647/32257)。
|
|
107
|
+
*
|
|
108
|
+
* 注意:
|
|
109
|
+
* - 在 Ver6.6 之前的版本,只有进房成功会抛出 onEnterRoom(result) 回调,进房失败由 onError() 回调抛出。
|
|
110
|
+
* - 在 Ver6.6 及之后改为:进房成功返回正的 result,进房失败返回负的 result,同时进房失败也会有 onError() 回调抛出。
|
|
111
|
+
*
|
|
112
|
+
* @event TRTCCallback#onEnterRoom
|
|
113
|
+
* @param {Number} result - result > 0 时为进房耗时(ms),result < 0 时为进房错误码。
|
|
114
|
+
*/
|
|
115
|
+
handleOnEnterRoom(result: number): void;
|
|
116
|
+
/**
|
|
117
|
+
* 2.2 退出房间的事件回调
|
|
118
|
+
*
|
|
119
|
+
* 调用 TRTCCloud 中的 [exitRoom()]{@link TRTCCloud#exitRoom} 接口会执行退出房间的相关逻辑,例如释放音视频设备资源和编解码器资源等。
|
|
120
|
+
* 待资源释放完毕,SDK 会通过 onExitRoom() 回调通知到您。
|
|
121
|
+
*
|
|
122
|
+
* 如果您要再次调用 enterRoom() 或者切换到其他的音视频 SDK,请等待 onExitRoom() 回调到来后再执行相关操作。
|
|
123
|
+
* 否则可能会遇到例如摄像头、麦克风设备被强占等各种异常问题。
|
|
124
|
+
*
|
|
125
|
+
* @event TRTCCallback#onExitRoom
|
|
126
|
+
* @param {Number} reason - 离开房间原因,0:主动调用 exitRoom 退房;1:被服务器踢出当前房间;2:当前房间整个被解散。
|
|
127
|
+
*/
|
|
128
|
+
handleOnExitRoom(reason: number): void;
|
|
129
|
+
/**
|
|
130
|
+
* 2.3 切换房间的事件回调
|
|
131
|
+
*
|
|
132
|
+
* @event TRTCCallback#onSwitchRoom
|
|
133
|
+
* @param {Number} errCode - 错误码,ERR_NULL 代表切换成功,其他请参见[错误码](https://cloud.tencent.com/document/product/647/32257)。
|
|
134
|
+
* @param {String} errMsg - 错误信息。
|
|
135
|
+
*/
|
|
136
|
+
handleOnSwitchRoom(errCode: number, errMsg: string): void;
|
|
137
|
+
/**
|
|
138
|
+
* 2.4 切换角色的事件回调
|
|
139
|
+
*
|
|
140
|
+
* 调用 TRTCCloud 中的 [switchRole()]{@link TRTCCloud#switchRole} 接口会切换主播和观众的角色,该操作会伴随一个线路切换的过程,
|
|
141
|
+
* 待 SDK 切换完成后,会抛出 onSwitchRole() 事件回调。
|
|
142
|
+
*
|
|
143
|
+
* @event TRTCCallback#onSwitchRole
|
|
144
|
+
* @param {Number} errCode - 错误码,ERR_NULL 代表切换成功,其他请参见[错误码](https://cloud.tencent.com/document/product/647/32257)。
|
|
145
|
+
* @param {String} errMsg - 错误信息。
|
|
146
|
+
*/
|
|
147
|
+
handleOnSwitchRole(errCode: number, errMsg: string): void;
|
|
148
|
+
/**
|
|
149
|
+
* 2.5 请求跨房连麦(主播跨房 PK)的结果回调
|
|
150
|
+
*
|
|
151
|
+
* 调用 TRTCCloud 中的 [connectOtherRoom()]{@link TRTCCloud#connectOtherRoom} 接口会将两个不同房间中的主播拉通视频通话,也就是所谓的“主播PK”功能。
|
|
152
|
+
* 调用者会收到 onConnectOtherRoom() 回调来获知跨房通话是否成功,
|
|
153
|
+
* 如果成功,两个房间中的所有用户都会收到 PK 主播的 onUserVideoAvailable() 回调。
|
|
154
|
+
*
|
|
155
|
+
* @event TRTCCallback#onConnectOtherRoom
|
|
156
|
+
* @param {String} userId - 要 PK 的目标主播 userId。
|
|
157
|
+
* @param {Number} errCode - 错误码,ERR_NULL 代表切换成功,其他请参见[错误码](https://cloud.tencent.com/document/product/647/32257)。
|
|
158
|
+
* @param {String} errMsg - 错误信息。
|
|
159
|
+
*/
|
|
160
|
+
handleOnConnectOtherRoom(userId: string, errCode: number, errMsg: string): void;
|
|
161
|
+
/**
|
|
162
|
+
* 2.6 关闭跨房连麦(主播跨房 PK)的结果回调
|
|
163
|
+
*
|
|
164
|
+
* @event TRTCCallback#onDisconnectOtherRoom
|
|
165
|
+
* @param {Number} errCode - 错误码,ERR_NULL 代表切换成功,其他请参见 [错误码](https://cloud.tencent.com/document/product/647/32257)。
|
|
166
|
+
* @param {String} errMsg - 错误信息。
|
|
167
|
+
*/
|
|
168
|
+
handleOnDisconnectOtherRoom(errCode: number, errMsg: string): void;
|
|
169
|
+
/**
|
|
170
|
+
* 3.1 有用户加入当前房间
|
|
171
|
+
*
|
|
172
|
+
* 出于性能方面的考虑,在两种不同的应用场景下,该通知的行为会有差别:
|
|
173
|
+
* - 通话场景(TRTCAppSceneVideoCall 和 TRTCAppSceneAudioCall):该场景下用户没有角色的区别,任何用户进入房间都会触发该通知。
|
|
174
|
+
* - 直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom):该场景不限制观众的数量,如果任何用户进出都抛出回调会引起很大的性能损耗,所以该场景下只有主播进入房间时才会触发该通知,观众进入房间不会触发该通知。
|
|
175
|
+
*
|
|
176
|
+
* 注意:onRemoteUserEnterRoom 和 onRemoteUserLeaveRoom 只适用于维护当前房间里的“成员列表”,如果需要显示远程画面,建议使用监听 onUserVideoAvailable() 事件回调。
|
|
177
|
+
*
|
|
178
|
+
* @event TRTCCallback#onRemoteUserEnterRoom
|
|
179
|
+
* @param {String} userId - 用户标识
|
|
180
|
+
*/
|
|
181
|
+
handleOnRemoteUserEnterRoom(userId: string): void;
|
|
182
|
+
/**
|
|
183
|
+
* 3.2 有用户离开当前房间
|
|
184
|
+
*
|
|
185
|
+
* 与 onRemoteUserEnterRoom 相对应,在两种不同的应用场景下,该通知的行为会有差别:
|
|
186
|
+
* - 通话场景(TRTCAppSceneVideoCall 和 TRTCAppSceneAudioCall):该场景下用户没有角色的区别,任何用户的离开都会触发该通知。
|
|
187
|
+
* - 直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom):只有主播离开房间时才会触发该通知,观众离开房间不会触发该通知。
|
|
188
|
+
*
|
|
189
|
+
* @event TRTCCallback#onRemoteUserLeaveRoom
|
|
190
|
+
* @param {String} userId - 用户标识
|
|
191
|
+
* @param {Number} reason - 离开原因,0表示用户主动退出房间,1表示用户超时退出,2表示被踢出房间。
|
|
192
|
+
*/
|
|
193
|
+
handleOnRemoteUserLeaveRoom(userId: string, reason: number): void;
|
|
194
|
+
/**
|
|
195
|
+
* 3.3 用户是否开启摄像头视频
|
|
196
|
+
*
|
|
197
|
+
* 当您收到 onUserVideoAvailable(userId, YES) 通知时,代表该路画面已经有可用的视频数据帧到达。
|
|
198
|
+
* 之后,您需要调用 [startRemoteView()]{@link TRTCCloud#startRemoteView} 接口加载该用户的远程画面。
|
|
199
|
+
* 再之后,您还会收到名为 onFirstVideoFrame(userId) 的首帧画面渲染回调。
|
|
200
|
+
*
|
|
201
|
+
* 当您收到了 onUserVideoAvailable(userId, NO) 通知时,代表该路远程画面已经被关闭,这可能是
|
|
202
|
+
* 由于该用户调用了 [muteLocalVideo()]{@link TRTCCloud#muteLocalVideo} 或 [stopLocalPreview()]{@link TRTCCloud#stopLocalPreview} 所致。
|
|
203
|
+
*
|
|
204
|
+
* @event TRTCCallback#onUserVideoAvailable
|
|
205
|
+
* @param {String} userId - 用户标识
|
|
206
|
+
* @param {Number} available - 画面是否开启
|
|
207
|
+
*/
|
|
208
|
+
handleOnUserVideoAvailable(userId: string, available: number): void;
|
|
209
|
+
/**
|
|
210
|
+
* 3.4 用户是否开启了辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)
|
|
211
|
+
*
|
|
212
|
+
* 注意:显示辅路画面使用的函数是 [startRemoteSubStreamView()]{@link TRTCCloud#startRemoteSubStreamView} 而非 [startRemoteView()]{@link TRTCCloud#startRemoteView}。
|
|
213
|
+
*
|
|
214
|
+
* @event TRTCCallback#onUserSubStreamAvailable
|
|
215
|
+
* @param {String} userId - 用户标识
|
|
216
|
+
* @param {Number} available - 辅路画面是否开启
|
|
217
|
+
*/
|
|
218
|
+
handleOnUserSubStreamAvailable(userId: string, available: number): void;
|
|
219
|
+
/**
|
|
220
|
+
* 3.5 用户是否开启音频上行
|
|
221
|
+
*
|
|
222
|
+
* @event TRTCCallback#onUserAudioAvailable
|
|
223
|
+
* @param {String} userId - 用户标识
|
|
224
|
+
* @param {Number} available - 声音是否开启
|
|
225
|
+
*/
|
|
226
|
+
handleOnUserAudioAvailable(userId: string, available: number): void;
|
|
227
|
+
/**
|
|
228
|
+
* 3.6 开始渲染本地或远程用户的首帧画面
|
|
229
|
+
*
|
|
230
|
+
* 如果 userId 为 null,表示开始渲染本地采集的摄像头画面,需要您先调用 [startLocalPreview()]{@link TRTCCloud#startLocalPreview} 触发。
|
|
231
|
+
* 如果 userId 不为 null,表示开始渲染远程用户的首帧画面,需要您先调用 [startRemoteView()]{@link TRTCCloud#startRemoteView} 触发。
|
|
232
|
+
*
|
|
233
|
+
* 注意:只有当您调用 startLocalPreview()、startRemoteView() 或 startRemoteSubStreamView() 之后,才会触发该回调。
|
|
234
|
+
*
|
|
235
|
+
* @event TRTCCallback#onFirstVideoFrame
|
|
236
|
+
* @param {String} userId - 本地或远程用户 ID,如果 userId == '' 代表本地,userId != '' 代表远程。
|
|
237
|
+
* @param {Number} streamType - 视频流类型,TRTCVideoStreamTypeBig:主路画面,一般用于摄像头;TRTCVideoStreamTypeSub:辅路画面,一般用于屏幕分享。
|
|
238
|
+
* @param {Number} width - 画面宽度
|
|
239
|
+
* @param {Number} height - 画面高度
|
|
240
|
+
*/
|
|
241
|
+
handleOnFirstVideoFrame(userId: string, streamType: number, width: number, height: number): void;
|
|
242
|
+
/**
|
|
243
|
+
* 3.7 开始播放远程用户的首帧音频(本地声音暂不通知)
|
|
244
|
+
*
|
|
245
|
+
* @event TRTCCallback#onFirstAudioFrame
|
|
246
|
+
* @param {String} userId - 远程用户 ID。
|
|
247
|
+
*/
|
|
248
|
+
handleOnFirstAudioFrame(userId: string): void;
|
|
249
|
+
/**
|
|
250
|
+
* 3.8 首帧本地视频数据已经被送出
|
|
251
|
+
*
|
|
252
|
+
* SDK 会在 enterRoom() 并 startLocalPreview() 成功后开始摄像头采集,并将采集到的画面进行编码。
|
|
253
|
+
* 当 SDK 成功向云端送出第一帧视频数据后,会抛出这个回调事件。
|
|
254
|
+
*
|
|
255
|
+
* @event TRTCCallback#onSendFirstLocalVideoFrame
|
|
256
|
+
* @param {Number} streamType - - 视频流类型,TRTCVideoStreamTypeBig:主路画面,一般用于摄像头;TRTCVideoStreamTypeSub:辅路画面,一般用于屏幕分享。
|
|
257
|
+
*/
|
|
258
|
+
handleOnSendFirstLocalVideoFrame(streamType: number): void;
|
|
259
|
+
/**
|
|
260
|
+
* 3.9 首帧本地音频数据已经被送出
|
|
261
|
+
*
|
|
262
|
+
* SDK 会在 enterRoom() 并 startLocalAudio() 成功后开始麦克风采集,并将采集到的声音进行编码。
|
|
263
|
+
* 当 SDK 成功向云端送出第一帧音频数据后,会抛出这个回调事件。
|
|
264
|
+
*
|
|
265
|
+
* @event TRTCCallback#onSendFirstLocalAudioFrame
|
|
266
|
+
*/
|
|
267
|
+
handleOnSendFirstLocalAudioFrame(): void;
|
|
268
|
+
/**
|
|
269
|
+
* 3.10 废弃事件:有主播加入当前房间
|
|
270
|
+
*
|
|
271
|
+
* 该回调接口可以被看作是 onRemoteUserEnterRoom 的废弃版本,不推荐使用。请使用 onUserVideoAvailable 或 onRemoteUserEnterRoom 进行替代。
|
|
272
|
+
*
|
|
273
|
+
* @deprecated 从 TRTCSDK6.8 后该接口已被废弃,不推荐使用
|
|
274
|
+
* @event TRTCCallback#onUserEnter
|
|
275
|
+
* @param {String} userId - 用户标识
|
|
276
|
+
*/
|
|
277
|
+
handleOnUserEnter(userId: string): void;
|
|
278
|
+
/**
|
|
279
|
+
* 3.11 废弃事件:有主播离开当前房间
|
|
280
|
+
*
|
|
281
|
+
* 该回调接口可以被看作是 onRemoteUserLeaveRoom 的废弃版本,不推荐使用。请使用 onUserVideoAvailable 或 onRemoteUserEnterRoom 进行替代。
|
|
282
|
+
*
|
|
283
|
+
* @deprecated 从 TRTCSDK6.8 后该接口已被废弃,不推荐使用
|
|
284
|
+
* @event TRTCCallback#onUserExit
|
|
285
|
+
* @param {String} userId - 用户标识
|
|
286
|
+
* @param {Number} reason - 离开原因代码,区分用户是正常离开,还是由于网络断线等原因离开。
|
|
287
|
+
*/
|
|
288
|
+
handleOnUserExit(userId: string, reason: number): void;
|
|
289
|
+
/**
|
|
290
|
+
* 4.1 网络质量:该回调每2秒触发一次,统计当前网络的上行和下行质量
|
|
291
|
+
*
|
|
292
|
+
* 注意:userId == '' 代表自己当前的视频质量
|
|
293
|
+
*
|
|
294
|
+
* @event TRTCCallback#onNetworkQuality
|
|
295
|
+
* @param {TRTCQualityInfo} localQuality - 上行网络质量
|
|
296
|
+
* @param {TRTCQualityInfo[]} remoteQuality - 下行网络质量
|
|
297
|
+
*/
|
|
298
|
+
bindOnNetworkQuality(): void;
|
|
299
|
+
/**
|
|
300
|
+
* 4.2 技术指标统计回调
|
|
301
|
+
*
|
|
302
|
+
* 如果您是熟悉音视频领域相关术语,可以通过这个回调获取 SDK 的所有技术指标。
|
|
303
|
+
* 如果您是首次开发音视频相关项目,可以只关注 onNetworkQuality 回调。
|
|
304
|
+
*
|
|
305
|
+
* 注意:每2秒回调一次
|
|
306
|
+
*
|
|
307
|
+
* @event TRTCCallback#onStatistics
|
|
308
|
+
* @param {TRTCStatistics} statis - 统计数据,包括本地和远程的
|
|
309
|
+
*/
|
|
310
|
+
bindOnStatistics(): void;
|
|
311
|
+
/**
|
|
312
|
+
* 5.1 SDK 跟服务器的连接断开
|
|
313
|
+
*
|
|
314
|
+
* @event TRTCCallback#onConnectionLost
|
|
315
|
+
*/
|
|
316
|
+
handleOnConnectionLost(): void;
|
|
317
|
+
/**
|
|
318
|
+
* 5.2 SDK 尝试重新连接到服务器
|
|
319
|
+
*
|
|
320
|
+
* @event TRTCCallback#onTryToReconnect
|
|
321
|
+
*/
|
|
322
|
+
handleOnTryToReconnect(): void;
|
|
323
|
+
/**
|
|
324
|
+
* 5.3 SDK 跟服务器的连接恢复
|
|
325
|
+
*
|
|
326
|
+
* @event TRTCCallback#onConnectionRecovery
|
|
327
|
+
*/
|
|
328
|
+
handleOnConnectionRecovery(): void;
|
|
329
|
+
/**
|
|
330
|
+
* 5.4 废弃事件:服务器测速的回调,SDK 对多个服务器 IP 做测速,每个 IP 的测速结果通过这个回调通知
|
|
331
|
+
*
|
|
332
|
+
* @deprecated 从 TRTCSDK 9.3 后该接口已被废弃,不会抛出该事件, 请采用 onSpeedTestResult 事件代替
|
|
333
|
+
*
|
|
334
|
+
* @event TRTCCallback#onSpeedTest
|
|
335
|
+
* @param {TRTCSpeedTestResult} currentResult - 当前完成的测速结果
|
|
336
|
+
* @param {Number} finishedCount - 已完成测速的服务器数量
|
|
337
|
+
* @param {Number} totalCount - 需要测速的服务器总数量
|
|
338
|
+
*/
|
|
339
|
+
bindOnSpeedTest(): void;
|
|
340
|
+
/**
|
|
341
|
+
* 6.1 摄像头准备就绪
|
|
342
|
+
*
|
|
343
|
+
* @event TRTCCallback#onCameraDidReady
|
|
344
|
+
*/
|
|
345
|
+
handleOnCameraDidReady(): void;
|
|
346
|
+
/**
|
|
347
|
+
* 6.2 麦克风准备就绪
|
|
348
|
+
*
|
|
349
|
+
* @event TRTCCallback#onMicDidReady
|
|
350
|
+
*/
|
|
351
|
+
handleOnMicDidReady(): void;
|
|
352
|
+
/**
|
|
353
|
+
* 6.3 userId 对应的成员语音音量
|
|
354
|
+
*
|
|
355
|
+
* 您可以通过调用 TRTCCloud 中的 [enableAudioVolumeEvaluation()]{@link TRTCCloud#enableAudioVolumeEvaluation} 接口来开关这个回调或者设置它的触发间隔。
|
|
356
|
+
* 需要注意的是,调用 enableAudioVolumeEvaluation 开启音量回调后,无论频道内是否有人说话,都会按设置的时间间隔调用这个回调,
|
|
357
|
+
* 如果没有人说话,则 totalVolume 为0。
|
|
358
|
+
*
|
|
359
|
+
* @event TRTCCallback#onUserVoiceVolume
|
|
360
|
+
* @param {TRTCVolumeInfo} userVolumes - 每位发言者的语音音量,取值范围0 - 100
|
|
361
|
+
* @param {Number} userVolumesCount - 发言者的人数,即 userVolumes 数组的大小
|
|
362
|
+
* @param {Number} totalVolume - 总的语音音量, 取值范围0 - 100
|
|
363
|
+
*/
|
|
364
|
+
bindOnUserVoiceVolume(): void;
|
|
365
|
+
/**
|
|
366
|
+
* 6.4 本地设备通断回调
|
|
367
|
+
*
|
|
368
|
+
* @event TRTCCallback#onDeviceChange
|
|
369
|
+
* @param {String} deviceId - Windows 端返回设备名,Mac 端返回设备 ID
|
|
370
|
+
* @param {TRTCDeviceType} type - 设备类型
|
|
371
|
+
* @param {TRTCDeviceState} state - 事件类型
|
|
372
|
+
*/
|
|
373
|
+
handleOnDeviceChange(deviceId: string, type: TRTCDeviceType, state: TRTCDeviceState): void;
|
|
374
|
+
/**
|
|
375
|
+
* 6.5 麦克风测试音量回调
|
|
376
|
+
*
|
|
377
|
+
* 麦克风测试接口 [startMicDeviceTest()]{@link TRTCCloud#startMicDeviceTest} 会触发这个回调
|
|
378
|
+
*
|
|
379
|
+
* @event TRTCCallback#onTestMicVolume
|
|
380
|
+
* @param {Number} volume - 音量值,取值范围0 - 100
|
|
381
|
+
*/
|
|
382
|
+
handleOnTestMicVolume(volume: number): void;
|
|
383
|
+
/**
|
|
384
|
+
* 6.6 扬声器测试音量回调
|
|
385
|
+
*
|
|
386
|
+
* 扬声器测试接口 [startSpeakerDeviceTest()]{@link TRTCCloud#startSpeakerDeviceTest} 会触发这个回调
|
|
387
|
+
*
|
|
388
|
+
* @event TRTCCallback#onTestSpeakerVolume
|
|
389
|
+
* @param {Number} volume - 音量值,取值范围0 - 100
|
|
390
|
+
*/
|
|
391
|
+
handleOnTestSpeakerVolume(volume: number): void;
|
|
392
|
+
/**
|
|
393
|
+
* 6.7 当前音频采集设备音量变化回调
|
|
394
|
+
*
|
|
395
|
+
* 使用 [enableAudioVolumeEvaluation]{@link TRTCCloud#enableAudioVolumeEvaluation}(interval>0)开启,(interval==0)关闭
|
|
396
|
+
*
|
|
397
|
+
* @event TRTCCallback#onAudioDeviceCaptureVolumeChanged
|
|
398
|
+
* @param {Number} volume - 音量值,取值范围0 - 100
|
|
399
|
+
* @param {Boolean} muted - 当前采集音频设备是否被静音
|
|
400
|
+
*/
|
|
401
|
+
handleOnAudioDeviceCaptureVolumeChanged(volume: number, muted: number): void;
|
|
402
|
+
/**
|
|
403
|
+
* 6.8 当前音频播放设备音量变化回调
|
|
404
|
+
*
|
|
405
|
+
* 使用 [enableAudioVolumeEvaluation]{@link TRTCCloud#enableAudioVolumeEvaluation}(interval>0)开启,(interval==0)关闭
|
|
406
|
+
*
|
|
407
|
+
* @event TRTCCallback#onAudioDevicePlayoutVolumeChanged
|
|
408
|
+
* @param {Number} volume - 音量值,取值范围0 - 100
|
|
409
|
+
* @param {Boolean} muted - 当前音频播放设备是否被静音
|
|
410
|
+
*/
|
|
411
|
+
handleOnAudioDevicePlayoutVolumeChanged(volume: number, muted: number): void;
|
|
412
|
+
/**
|
|
413
|
+
* 7.1 收到自定义消息回调
|
|
414
|
+
*
|
|
415
|
+
* 当房间中的某个用户使用 [sendCustomCmdMsg()]{@link TRTCCloud#sendCustomCmdMsg} 发送自定义消息时,房间中的其它用户可以通过 onRecvCustomCmdMsg 接口接收消息
|
|
416
|
+
*
|
|
417
|
+
* @event TRTCCallback#onRecvCustomCmdMsg
|
|
418
|
+
* @param {String} userId - 用户标识
|
|
419
|
+
* @param {Number} cmdId - 命令 ID
|
|
420
|
+
* @param {Number} seq - 消息序号
|
|
421
|
+
* @param {String} msg - 消息数据
|
|
422
|
+
*/
|
|
423
|
+
bindOnRecvCustomCmdMsg(): void;
|
|
424
|
+
/**
|
|
425
|
+
* 7.2 自定义消息丢失回调
|
|
426
|
+
*
|
|
427
|
+
* 实时音视频使用 UDP 通道,即使设置了可靠传输(reliable)也无法确保100%不丢失,只是丢消息概率极低,能满足常规可靠性要求。
|
|
428
|
+
* 在发送端设置了可靠传输(reliable)后,SDK 都会通过此回调通知过去时间段内(通常为5s)传输途中丢失的自定义消息数量统计信息。
|
|
429
|
+
*
|
|
430
|
+
* 注意:只有在发送端设置了可靠传输(reliable),接收方才能收到消息的丢失回调
|
|
431
|
+
*
|
|
432
|
+
* @event TRTCCallback#onMissCustomCmdMsg
|
|
433
|
+
* @param {String} userId - 用户标识
|
|
434
|
+
* @param {Number} cmdId - 命令 ID
|
|
435
|
+
* @param {Number} errCode - 错误码
|
|
436
|
+
* @param {Number} missed - 丢失的消息数量
|
|
437
|
+
*/
|
|
438
|
+
bindOnMissCustomCmdMsg(): void;
|
|
439
|
+
/**
|
|
440
|
+
* 7.3 收到 SEI 消息的回调
|
|
441
|
+
*
|
|
442
|
+
* 当房间中的某个用户使用 [sendSEIMsg()]{@link TRTCCloud#sendSEIMsg} 发送数据时,房间中的其它用户可以通过 onRecvSEIMsg 接口接收数据。
|
|
443
|
+
*
|
|
444
|
+
* @event TRTCCallback#onRecvSEIMsg
|
|
445
|
+
* @param {String} userId - 用户标识
|
|
446
|
+
* @param {String} message - 数据
|
|
447
|
+
*/
|
|
448
|
+
bindOnRecvSEIMsg(): void;
|
|
449
|
+
/**
|
|
450
|
+
* 8.1 开始向腾讯云的直播 CDN 推流的回调,对应于 TRTCCloud 中的 [startPublishing()]{@link TRTCCloud#startPublishing} 接口
|
|
451
|
+
*
|
|
452
|
+
* @ignore
|
|
453
|
+
* @param {Number} errCode - 0表示成功,其余值表示失败
|
|
454
|
+
* @param {String} errMsg - 具体错误原因
|
|
455
|
+
*/
|
|
456
|
+
handleOnStartPublishing(errCode: number, errMsg: string): void;
|
|
457
|
+
/**
|
|
458
|
+
* 8.2 停止向腾讯云的直播 CDN 推流的回调,对应于 TRTCCloud 中的 [stopPublishing()]{@link TRTCCloud#stopPublishing} 接口
|
|
459
|
+
*
|
|
460
|
+
* @ignore
|
|
461
|
+
* @param {Number} errCode - 0表示成功,其余值表示失败
|
|
462
|
+
* @param {String} errMsg - 具体错误原因
|
|
463
|
+
*/
|
|
464
|
+
handleOnStopPublishing(errCode: number, errMsg: string): void;
|
|
465
|
+
/**
|
|
466
|
+
* 8.3 旁路推流到 CDN 的回调
|
|
467
|
+
*
|
|
468
|
+
* 对应于 TRTCCloud 的 [startPublishCDNStream()]{@link TRTCCloud#startPublishCDNStream} 接口
|
|
469
|
+
*
|
|
470
|
+
* 注意:Start 回调如果成功,只能说明转推请求已经成功告知给腾讯云,如果目标 CDN 有异常,还是有可能会转推失败。
|
|
471
|
+
*
|
|
472
|
+
* @event TRTCCallback#onStartPublishCDNStream
|
|
473
|
+
* @param {Number} errCode - 错误码
|
|
474
|
+
* @param {String} errMsg - 错误详细信息
|
|
475
|
+
*/
|
|
476
|
+
handleOnStartPublishCDNStream(errCode: number, errMsg: string): void;
|
|
477
|
+
/**
|
|
478
|
+
* 8.4 停止旁路推流到 CDN 的回调
|
|
479
|
+
*
|
|
480
|
+
* 对应于 TRTCCloud 中的 [stopPublishCDNStream()]{@link TRTCCloud#stopPublishCDNStream} 接口
|
|
481
|
+
*
|
|
482
|
+
* @event TRTCCallback#onStopPublishCDNStream
|
|
483
|
+
* @param {Number} errCode - 错误码
|
|
484
|
+
* @param {String} errMsg - 错误详细信息
|
|
485
|
+
*/
|
|
486
|
+
handleOnStopPublishCDNStream(errCode: number, errMsg: string): void;
|
|
487
|
+
/**
|
|
488
|
+
* 8.5 设置云端的混流转码参数的回调
|
|
489
|
+
*
|
|
490
|
+
* 对应于 TRTCCloud 中的 [setMixTranscodingConfig()]{@link TRTCCloud#setMixTranscodingConfig} 接口
|
|
491
|
+
*
|
|
492
|
+
* @event TRTCCallback#onSetMixTranscodingConfig
|
|
493
|
+
* @param {Number} errCode - 错误码
|
|
494
|
+
* @param {String} errMsg - 错误详细信息
|
|
495
|
+
*/
|
|
496
|
+
handleOnSetMixTranscodingConfig(errCode: number, errMsg: string): void;
|
|
497
|
+
/**
|
|
498
|
+
* 9.1 废弃事件: 播放音效结束回调
|
|
499
|
+
*
|
|
500
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,不推荐使用
|
|
501
|
+
*
|
|
502
|
+
* @event TRTCCallback#onAudioEffectFinished
|
|
503
|
+
* @param {Number} effectId - 音效 ID
|
|
504
|
+
* @param {Number} code - 0表示播放正常结束;其他表示异常结束
|
|
505
|
+
*/
|
|
506
|
+
handleOnAudioEffectFinished(effectId: number, code: number): void;
|
|
507
|
+
/**
|
|
508
|
+
* 10.1 当屏幕分享窗口被遮挡无法正常捕获时,SDK 会通过此回调通知,可在此回调里通知用户移开遮挡窗口
|
|
509
|
+
*
|
|
510
|
+
* @event TRTCCallback#onScreenCaptureCovered
|
|
511
|
+
*/
|
|
512
|
+
handleOnScreenCaptureCovered(): void;
|
|
513
|
+
/**
|
|
514
|
+
* 10.2 当屏幕分享开始时,SDK 会通过此回调通知
|
|
515
|
+
*
|
|
516
|
+
* @event TRTCCallback#onScreenCaptureStarted
|
|
517
|
+
*/
|
|
518
|
+
handleOnScreenCaptureStarted(): void;
|
|
519
|
+
/**
|
|
520
|
+
* 10.3 当屏幕分享暂停时,SDK 会通过此回调通知
|
|
521
|
+
*
|
|
522
|
+
* @event TRTCCallback#onScreenCapturePaused
|
|
523
|
+
* @param {Number} reason - 停止原因,0:表示用户主动暂停;1:表示设置屏幕分享参数导致的暂停;2:表示屏幕分享窗口被最小化导致的暂停;3:表示屏幕分享窗口被隐藏导致的暂停
|
|
524
|
+
*/
|
|
525
|
+
handleOnScreenCapturePaused(reason: number): void;
|
|
526
|
+
/**
|
|
527
|
+
* 10.4 当屏幕分享恢复时,SDK 会通过此回调通知
|
|
528
|
+
*
|
|
529
|
+
* @event TRTCCallback#onScreenCaptureResumed
|
|
530
|
+
* @param {Number} reason - 停止原因,0:表示用户主动恢复,1:表示屏幕分享参数设置完毕后自动恢复;2:表示屏幕分享窗口从最小化被恢复;3:表示屏幕分享窗口从隐藏被恢复
|
|
531
|
+
*/
|
|
532
|
+
handleOnScreenCaptureResumed(reason: number): void;
|
|
533
|
+
/**
|
|
534
|
+
* 10.5 当屏幕分享停止时,SDK 会通过此回调通知
|
|
535
|
+
*
|
|
536
|
+
* @event TRTCCallback#onScreenCaptureStopped
|
|
537
|
+
* @param {Number} reason - 停止原因,0:表示用户主动停止;1:表示屏幕分享窗口被关闭
|
|
538
|
+
*/
|
|
539
|
+
handleOnScreenCaptureStopped(reason: number): void;
|
|
540
|
+
/**
|
|
541
|
+
* 11.1 截图完成时回调
|
|
542
|
+
*
|
|
543
|
+
* @event TRTCCallback#onSnapshotComplete
|
|
544
|
+
*
|
|
545
|
+
* @param {String} userId - 用户 ID,空字符串表示截取本地画面
|
|
546
|
+
* @param {TRTCVideoStreamType} type - 视频流类型
|
|
547
|
+
* @param {String} data - 截图数据, base64 string
|
|
548
|
+
* @param {Number} width - 截图画面的宽度
|
|
549
|
+
* @param {Number} height - 截图画面的高度
|
|
550
|
+
*/
|
|
551
|
+
handleOnSnapshotComplete(userId: string, type: TRTCVideoStreamType, buffer: ArrayBuffer, width: number, height: number): void;
|
|
552
|
+
/**
|
|
553
|
+
* 12.1 废弃事件: 开始播放背景音乐
|
|
554
|
+
*
|
|
555
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,不推荐使用
|
|
556
|
+
*
|
|
557
|
+
* @event TRTCCallback#onPlayBGMBegin
|
|
558
|
+
* @param {Number} errCode - 错误码
|
|
559
|
+
*/
|
|
560
|
+
handleOnPlayBGMBegin(errCode: number): void;
|
|
561
|
+
/**
|
|
562
|
+
* 12.2 废弃事件: 播放背景音乐的进度
|
|
563
|
+
*
|
|
564
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,不推荐使用
|
|
565
|
+
*
|
|
566
|
+
* @event TRTCCallback#onPlayBGMProgress
|
|
567
|
+
* @param {Number} progressMS - 已播放时间
|
|
568
|
+
* @param {Number} durationMS - 总时间
|
|
569
|
+
*/
|
|
570
|
+
handleOnPlayBGMProgress(progressMS: number, durationMS: number): void;
|
|
571
|
+
/**
|
|
572
|
+
* 12.3 废弃事件: 播放背景音乐结束
|
|
573
|
+
*
|
|
574
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,不推荐使用
|
|
575
|
+
*
|
|
576
|
+
* @event TRTCCallback#onPlayBGMComplete
|
|
577
|
+
* @param {Number} errCode - 错误码
|
|
578
|
+
*/
|
|
579
|
+
handleOnPlayBGMComplete(errCode: number): void;
|
|
580
|
+
/**
|
|
581
|
+
* 13.1 系统音频采集回调
|
|
582
|
+
*
|
|
583
|
+
* @event TRTCCallback#onSystemAudioLoopbackError
|
|
584
|
+
*
|
|
585
|
+
* @param {Number} errCode - 错误码含义
|
|
586
|
+
* - 0 :代表启动成功;
|
|
587
|
+
* - ERR_AUDIO_PLUGIN_START_FAIL(-1330) :开启系统声音录制失败,例如音频驱动插件不可用
|
|
588
|
+
* - ERR_AUDIO_PLUGIN_INSTALL_NOT_AUTHORIZED (-1331) :未授权安装音频驱动插件
|
|
589
|
+
* - ERR_AUDIO_PLUGIN_INSTALL_FAILED (-1332) :安装音频驱动插件失败
|
|
590
|
+
*/
|
|
591
|
+
handleOnSystemAudioLoopbackError(errCode: number): void;
|
|
592
|
+
handleOnVideoSizeChange(userId: string, streamType: number, width: number, height: number): void;
|
|
593
|
+
/**
|
|
594
|
+
* 1.1 进入房间
|
|
595
|
+
*
|
|
596
|
+
* 调用接口后,您会收到来自 TRTCCallback 中的 [onEnterRoom(result)]{@link TRTCCallback#onEnterRoom} 回调:
|
|
597
|
+
* - 如果加入成功,result 会是一个正数(result > 0),表示加入房间的时间消耗,单位是毫秒(ms)。
|
|
598
|
+
* - 如果加入失败,result 会是一个负数(result < 0),表示进房失败的错误码。
|
|
599
|
+
*
|
|
600
|
+
* 进房失败的错误码含义请参见[错误码](https://cloud.tencent.com/document/product/647/32257)。
|
|
601
|
+
*
|
|
602
|
+
* 参数 scene 的枚举值如下:
|
|
603
|
+
* - {@link TRTCAppSceneVideoCall}:<br>
|
|
604
|
+
* 视频通话场景,支持720P、1080P高清画质,单个房间最多支持300人同时在线,最高支持50人同时发言。<br>
|
|
605
|
+
* 适合:[1对1视频通话]、[300人视频会议]、[在线问诊]、[视频聊天]、[远程面试]等。<br>
|
|
606
|
+
* - {@link TRTCAppSceneAudioCall}:<br>
|
|
607
|
+
* 语音通话场景,支持 48kHz,支持双声道。单个房间最多支持300人同时在线,最高支持50人同时发言。<br>
|
|
608
|
+
* 适合:[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。<br>
|
|
609
|
+
* - {@link TRTCAppSceneLIVE}:<br>
|
|
610
|
+
* 视频互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。<br>
|
|
611
|
+
* 适合:[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。<br>
|
|
612
|
+
* - {@link TRTCAppSceneVoiceChatRoom}:<br>
|
|
613
|
+
* 语音互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。<br>
|
|
614
|
+
* 适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。<br>
|
|
615
|
+
*
|
|
616
|
+
* 注意:<br>
|
|
617
|
+
* 1. 当 scene 选择为 TRTCAppSceneLIVE 或 TRTCAppSceneVoiceChatRoom 时,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。<br>
|
|
618
|
+
* 2. 不管进房是否成功,enterRoom 都必须与 exitRoom 配对使用,在调用 exitRoom 前再次调用 enterRoom 函数会导致不可预期的错误问题。
|
|
619
|
+
*
|
|
620
|
+
* @param {TRTCParams} params - 进房参数
|
|
621
|
+
* @param {Number} params.sdkAppId - 应用标识(必填)
|
|
622
|
+
* @param {String} params.userId - 用户标识(必填)
|
|
623
|
+
* @param {String} params.userSig - 用户签名(必填)
|
|
624
|
+
* @param {Number} params.roomId - 房间号码, roomId 和 strRoomId 必须填一个, 若您选用 strRoomId,则 roomId 需要填写为0。
|
|
625
|
+
* @param {String} params.strRoomId - 字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并进行视频通话, roomId 和 strRoomId 必须填一个。若两者都填,则优先选择 roomId。
|
|
626
|
+
* @param {TRTCRoleType} params.role - 直播场景下的角色,默认值:主播
|
|
627
|
+
* - TRTCRoleAnchor: 主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。
|
|
628
|
+
* - TRTCRoleAudience: 观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。
|
|
629
|
+
* @param {String} params.privateMapKey - 房间签名(非必填)
|
|
630
|
+
* @param {String} params.businessInfo - 业务数据(非必填)
|
|
631
|
+
* @param {String} params.streamId - 自定义 CDN 播放地址(非必填)
|
|
632
|
+
* @param {String} params.userDefineRecordId - 设置云端录制完成后的回调消息中的 "userdefinerecordid" 字段内容,便于您更方便的识别录制回调。
|
|
633
|
+
* @param {TRTCAppScene} scene - 应用场景,目前支持视频通话(VideoCall)、在线直播(Live)、语音通话(AudioCall)、语音聊天室(VoiceChatRoom)四种场景。
|
|
634
|
+
*/
|
|
635
|
+
enterRoom(params: any, scene: TRTCAppScene): void;
|
|
636
|
+
/**
|
|
637
|
+
* 1.2 退出房间
|
|
638
|
+
*
|
|
639
|
+
* 调用 exitRoom() 接口会执行退出房间的相关逻辑,例如释放音视频设备资源和编解码器资源。
|
|
640
|
+
* 待资源释放完毕,SDK 会通过 TRTCCallback 中的 onExitRoom() 回调通知您。
|
|
641
|
+
*
|
|
642
|
+
* 如果您要再次调用 enterRoom() 或者切换到其它的音视频 SDK,请等待 onExitRoom() 回调到来后再执行相关操作,
|
|
643
|
+
* 否则可能会遇到如摄像头、麦克风设备被强占等各种异常问题。
|
|
644
|
+
*/
|
|
645
|
+
exitRoom(): void;
|
|
646
|
+
/**
|
|
647
|
+
* 1.3 切换房间
|
|
648
|
+
*
|
|
649
|
+
* 调用该接口后,用户会先退出原来的房间并快速进入 TRTCSwitchRoomParam 中指定的新房间:
|
|
650
|
+
* 相比于直接调用 exitRoom + enterRoom 的方式,switchRoom 接口对主播更加友好,因为 switchRoom
|
|
651
|
+
* 不会停止主播端视频的采集和预览。
|
|
652
|
+
*
|
|
653
|
+
* @param {TRTCSwitchRoomParam} params 房间切换参数,请参考 {@link TRTCSwitchRoomParam}
|
|
654
|
+
*
|
|
655
|
+
* 接口调用结果会通过 TRTCCloudListener 中的 onSwitchRoom(errCode, errMsg) 回调通知给您。
|
|
656
|
+
*/
|
|
657
|
+
switchRoom(params: TRTCSwitchRoomParam): void;
|
|
658
|
+
/**
|
|
659
|
+
* 1.4 切换角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)
|
|
660
|
+
*
|
|
661
|
+
* 在直播场景下,一个用户可能需要在“观众”和“主播”之间来回切换。
|
|
662
|
+
* 您可以在进房前通过 TRTCParams 中的 role 字段确定角色,也可以通过 switchRole 在进房后切换角色。
|
|
663
|
+
*
|
|
664
|
+
* @param {TRTCRoleType} role - 目标角色,默认为主播
|
|
665
|
+
* - TRTCRoleAnchor: 主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。
|
|
666
|
+
* - TRTCRoleAudience: 观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。
|
|
667
|
+
*/
|
|
668
|
+
switchRole(role: TRTCRoleType): void;
|
|
669
|
+
/**
|
|
670
|
+
* 1.5 请求跨房连麦(主播跨房 PK)
|
|
671
|
+
*
|
|
672
|
+
* TRTC 中两个不同音视频房间中的主播,可以通过“跨房连麦”功能拉通连麦通话功能。使用此功能时,
|
|
673
|
+
* 两个主播无需退出各自原来的直播间即可进行“连麦 PK”。
|
|
674
|
+
*
|
|
675
|
+
* 例如:当房间“001”中的主播 A 通过 connectOtherRoom() 跟房间“002”中的主播 B 拉通跨房连麦后,
|
|
676
|
+
* 房间“001”中的用户都会收到主播 B 的 onUserEnter(B) 回调和 onUserVideoAvailable(B,true) 回调。
|
|
677
|
+
* 房间“002”中的用户都会收到主播 A 的 onUserEnter(A) 回调和 onUserVideoAvailable(A,true) 回调。
|
|
678
|
+
*
|
|
679
|
+
* 简言之,跨房连麦的本质,就是把两个不同房间中的主播相互分享,让每个房间里的观众都能看到两个主播。
|
|
680
|
+
*
|
|
681
|
+
* <pre>
|
|
682
|
+
* 房间 001 房间 002
|
|
683
|
+
* ------------- ------------
|
|
684
|
+
* 跨房连麦前:| 主播 A | | 主播 B |
|
|
685
|
+
* | 观众 U V W | | 观众 X Y Z |
|
|
686
|
+
* ------------- ------------
|
|
687
|
+
*
|
|
688
|
+
* 房间 001 房间 002
|
|
689
|
+
* ------------- ------------
|
|
690
|
+
* 跨房连麦后:| 主播 A B | | 主播 B A |
|
|
691
|
+
* | 观众 U V W | | 观众 X Y Z |
|
|
692
|
+
* ------------- ------------
|
|
693
|
+
* </pre>
|
|
694
|
+
*
|
|
695
|
+
* 考虑到后续扩展字段的兼容性问题,跨房连麦的参数暂时采用了 JSON 格式的字符串,要求至少包含两个字段:
|
|
696
|
+
* - roomId:房间“001”中的主播 A 要跟房间“002”中的主播 B 连麦,主播 A 调用 connectOtherRoom() 时 roomId 应指定为“002”。
|
|
697
|
+
* - userId:房间“001”中的主播 A 要跟房间“002”中的主播 B 连麦,主播 A 调用 connectOtherRoom() 时 userId 应指定为 B 的 userId。
|
|
698
|
+
*
|
|
699
|
+
* 跨房连麦的请求结果会通过 TRTCCallback 中的 onConnectOtherRoom 回调通知给您。
|
|
700
|
+
*
|
|
701
|
+
* @example
|
|
702
|
+
* let json = JSON.stringify({roomId: 2, userId: "userB"});
|
|
703
|
+
* rtcCloud.connectOtherRoom(json);
|
|
704
|
+
*
|
|
705
|
+
* @param {String} params - JSON 字符串连麦参数,roomId 代表目标房间号,userId 代表目标用户 ID。
|
|
706
|
+
*
|
|
707
|
+
*/
|
|
708
|
+
connectOtherRoom(params: string): void;
|
|
709
|
+
/**
|
|
710
|
+
* 1.6 关闭跨房连麦(主播跨房 PK)
|
|
711
|
+
*
|
|
712
|
+
* 跨房连麦的退出结果会通过 TRTCCallback 中的 onDisconnectOtherRoom 回调通知给您。
|
|
713
|
+
*/
|
|
714
|
+
disconnectOtherRoom(): void;
|
|
715
|
+
/**
|
|
716
|
+
* 1.7 设置音视频数据接收模式(需要在进房前设置才能生效)
|
|
717
|
+
*
|
|
718
|
+
* 为实现进房秒开的绝佳体验,SDK 默认进房后自动接收音视频。即在您进房成功的同时,您将立刻收到远端所有用户的音视频数据。
|
|
719
|
+
* 若您没有调用 startRemoteView,视频数据将自动超时取消。
|
|
720
|
+
* 若您主要用于语音聊天等没有自动接收视频数据需求的场景,您可以根据实际需求选择接收模式。
|
|
721
|
+
*
|
|
722
|
+
* 注意:需要在进房前设置才能生效。
|
|
723
|
+
*
|
|
724
|
+
* @param {Boolean} autoRecvAudio - true:自动接收音频数据;false:需要调用 [muteRemoteAudio]{@link TRTCCloud#muteRemoteAudio} 进行请求或取消。默认值:true
|
|
725
|
+
* @param {Boolean} autoRecvVideo - true:自动接收视频数据;false:需要调用 [startRemoteView]{@link TRTCCloud#startRemoteView}/[stopRemoteView]{@link TRTCCloud#stopRemoteView} 进行请求或取消。默认值:true
|
|
726
|
+
*
|
|
727
|
+
*/
|
|
728
|
+
setDefaultStreamRecvMode(autoRecvAudio: boolean, autoRecvVideo: boolean): void;
|
|
729
|
+
/**
|
|
730
|
+
* 2.1 开始向腾讯云的直播 CDN 推流
|
|
731
|
+
*
|
|
732
|
+
* 该接口会指定当前用户的音视频流在腾讯云 CDN 所对应的 StreamId,进而可以指定当前用户的 CDN 播放地址。
|
|
733
|
+
*
|
|
734
|
+
* 例如:如果我们采用如下代码设置当前用户的主画面 StreamId 为 user_stream_001,那么该用户主画面对应的 CDN 播放地址为:
|
|
735
|
+
* “http://yourdomain/live/user_stream_001.flv”,其中 yourdomain 为您自己备案的播放域名,
|
|
736
|
+
* 您可以在直播[控制台](https://console.cloud.tencent.com/live) 配置您的播放域名,腾讯云不提供默认的播放域名。
|
|
737
|
+
*
|
|
738
|
+
* 您也可以在设置 enterRoom 的参数 TRTCParams 时指定 streamId, 而且我们更推荐您采用这种方案。
|
|
739
|
+
*
|
|
740
|
+
* 注意:您需要先在实时音视频 [控制台](https://console.cloud.tencent.com/trtc/) 中的功能配置页开启“启动自动旁路直播”才能生效。
|
|
741
|
+
*
|
|
742
|
+
* @example
|
|
743
|
+
* let trtcCloud = TRTCCloud.getTRTCShareInstance();
|
|
744
|
+
* trtcCloud.enterRoom(params, TRTCAppScene.TRTCAppSceneLIVE);
|
|
745
|
+
* trtcCloud.startLocalPreview(view);
|
|
746
|
+
* trtcCloud.startLocalAudio(TRTCAudioQuality.TRTCAudioQualityDefault);
|
|
747
|
+
* trtcCloud.startPublishing("user_stream_001", TRTCVideoStreamType.TRTCVideoStreamTypeBig);
|
|
748
|
+
*
|
|
749
|
+
*
|
|
750
|
+
* @param {String} streamId - 自定义流 ID。
|
|
751
|
+
* @param {TRTCVideoStreamType} type - 仅支持 TRTCVideoStreamTypeBig 和 TRTCVideoStreamTypeSub。
|
|
752
|
+
*/
|
|
753
|
+
startPublishing(streamId: string, type: TRTCVideoStreamType): void;
|
|
754
|
+
/**
|
|
755
|
+
* 2.2 停止向腾讯云的直播 CDN 推流
|
|
756
|
+
*/
|
|
757
|
+
stopPublishing(): void;
|
|
758
|
+
/**
|
|
759
|
+
* 2.3 开始向非腾讯云的直播 CDN 转推
|
|
760
|
+
*
|
|
761
|
+
* 该接口跟 startPublishing() 类似,但 startPublishCDNStream() 支持向非腾讯云的直播 CDN 转推。
|
|
762
|
+
* 使用 startPublishing() 绑定腾讯云直播 CDN 不收取额外的费用。
|
|
763
|
+
* 使用 startPublishCDNStream() 绑定非腾讯云直播 CDN 需要收取转推费用,且需要通过工单联系我们开通。
|
|
764
|
+
*
|
|
765
|
+
* @param {TRTCPublishCDNParam} param - 转推参数
|
|
766
|
+
* @param {Number} param.appId - 腾讯云 AppID
|
|
767
|
+
* @param {Number} param.bizId - 腾讯云直播 bizId
|
|
768
|
+
* @param {String} param.url - 旁路转推的 URL
|
|
769
|
+
*/
|
|
770
|
+
startPublishCDNStream(param: any): void;
|
|
771
|
+
/**
|
|
772
|
+
* 2.4 停止向非腾讯云的直播 CDN 推流
|
|
773
|
+
*/
|
|
774
|
+
stopPublishCDNStream(): void;
|
|
775
|
+
/**
|
|
776
|
+
* 2.5 设置云端的混流转码参数
|
|
777
|
+
*
|
|
778
|
+
* 如果您在实时音视频 [控制台](https://console.cloud.tencent.com/trtc/) 中的功能配置页开启了“启动自动旁路直播”功能,
|
|
779
|
+
* 房间里的每一路画面都会有一个默认的直播 [CDN 地址](https://cloud.tencent.com/document/product/647/16826)。
|
|
780
|
+
*
|
|
781
|
+
* 一个直播间中可能有不止一位主播,而且每个主播都有自己的画面和声音,但对于 CDN 观众来说,他们只需要一路直播流,
|
|
782
|
+
* 所以您需要将多路音视频流混成一路标准的直播流,这就需要混流转码。
|
|
783
|
+
*
|
|
784
|
+
* 当您调用 setMixTranscodingConfig() 接口时,SDK 会向腾讯云的转码服务器发送一条指令,目的是将房间里的多路音视频流混合为一路,
|
|
785
|
+
* 您可以通过 mixUsers 参数来调整每一路画面的位置,以及是否只混合声音,也可以通过 videoWidth、videoHeight、videoBitrate 等参数控制混合音视频流的编码参数。
|
|
786
|
+
*
|
|
787
|
+
* <pre>
|
|
788
|
+
* 【画面1】=> 解码 ====> \
|
|
789
|
+
* \
|
|
790
|
+
* 【画面2】=> 解码 => 画面混合 => 编码 => 【混合后的画面】
|
|
791
|
+
* /
|
|
792
|
+
* 【画面3】=> 解码 ====> /
|
|
793
|
+
*
|
|
794
|
+
* 【声音1】=> 解码 ====> \
|
|
795
|
+
* \
|
|
796
|
+
* 【声音2】=> 解码 => 声音混合 => 编码 => 【混合后的声音】
|
|
797
|
+
* /
|
|
798
|
+
* 【声音3】=> 解码 ====> /
|
|
799
|
+
* </pre>
|
|
800
|
+
*
|
|
801
|
+
* 参考文档:[云端混流转码](https://cloud.tencent.com/document/product/647/16827)。
|
|
802
|
+
*
|
|
803
|
+
* @note 关于云端混流的注意事项:
|
|
804
|
+
* - 云端转码会引入一定的 CDN 观看延时,大概会增加1 - 2秒。
|
|
805
|
+
* - 调用该函数的用户,会将连麦中的多路画面混合到自己当前这路画面中。
|
|
806
|
+
*
|
|
807
|
+
* @param {TRTCTranscodingConfig} config - 请参考 trtc_define.js 中关于 TRTCTranscodingConfig 的介绍, 如果传入 null 取消云端混流转码。
|
|
808
|
+
* @param {TRTCTranscodingConfigMode} config.mode - 转码 config 模式
|
|
809
|
+
* @param {Number} config.appId - 腾讯云直播 AppID
|
|
810
|
+
* @param {Number} config.bizId - 腾讯云直播 bizid
|
|
811
|
+
* @param {Number} config.videoWidth - 最终转码后的视频分辨率的宽度(px)
|
|
812
|
+
* @param {Number} config.videoHeight - 最终转码后的视频分辨率的高度(px)
|
|
813
|
+
* @param {Number} config.videoBitrate - 最终转码后的视频分辨率的码率(kbps)
|
|
814
|
+
* @param {Number} config.videoFramerate - 最终转码后的视频分辨率的帧率(FPS)
|
|
815
|
+
* @param {Number} config.videoGOP - 最终转码后的视频分辨率的关键帧间隔(也被称为 GOP),单位秒
|
|
816
|
+
* @param {Number} config.audioSampleRate - 最终转码后的音频采样率
|
|
817
|
+
* @param {Number} config.audioBitrate - 最终转码后的音频码率,单位:kbps
|
|
818
|
+
* @param {Number} config.audioChannels - 最终转码后的音频声道数
|
|
819
|
+
* @param {String} config.backgroundColor - 混合后画面的底色颜色,格式为十六进制数字,比如:“0x61B9F1” 代表 RGB 分别为(97,158,241)
|
|
820
|
+
* @param {String} config.backgroundImage - 混合后画面的背景图
|
|
821
|
+
* @param {String} config.streamId - 输出到 CDN 上的直播流 ID
|
|
822
|
+
* @param {TRTCMixUser[]} config.mixUsersArray - 每一路子画面的位置信息
|
|
823
|
+
* @param {String} config.mixUsersArray[].userId - 参与混流的 userId
|
|
824
|
+
* @param {String} config.mixUsersArray[].roomId - 参与混流的 roomId,跨房流传入的实际 roomId,当前房间流传入 roomId = null
|
|
825
|
+
* @param {Rect} config.mixUsersArray[].rect - 图层位置坐标以及大小,左上角为坐标原点(0,0) (绝对像素值)
|
|
826
|
+
* @param {Number} config.mixUsersArray[].rect.left - 图层位置的左坐标
|
|
827
|
+
* @param {Number} config.mixUsersArray[].rect.top - 图层位置的上坐标
|
|
828
|
+
* @param {Number} config.mixUsersArray[].rect.right - 图层位置的右坐标
|
|
829
|
+
* @param {Number} config.mixUsersArray[].rect.bottom - 图层位置的下坐标
|
|
830
|
+
* @param {Number} config.mixUsersArray[].zOrder - 图层层次(1 - 15)不可重复
|
|
831
|
+
* @param {Boolean} config.mixUsersArray[].pureAudio - 是否纯音频
|
|
832
|
+
* @param {TRTCVideoStreamType} config.mixUsersArray[].streamType - TRTCVideoStreamTypeBig:主路画面,一般用于摄像头;TRTCVideoStreamTypeSub:辅路画面,一般用于屏幕分享。
|
|
833
|
+
*/
|
|
834
|
+
setMixTranscodingConfig(config: any): void;
|
|
835
|
+
/**
|
|
836
|
+
* 3.1 启动本地摄像头采集和预览
|
|
837
|
+
*
|
|
838
|
+
* 这个接口会启动默认的摄像头,可以通过 [setCurrentCameraDevice()]{@link TRTCCloud#setCurrentCameraDevice} 接口选用其它摄像头
|
|
839
|
+
* 当开始渲染首帧摄像头画面时,您会收到 TRTCCallback 中的 onFirstVideoFrame(null) 回调。
|
|
840
|
+
*
|
|
841
|
+
* @param {HTMLElement} view - 承载预览画面的 DOM
|
|
842
|
+
*/
|
|
843
|
+
startLocalPreview(view: HTMLElement): void;
|
|
844
|
+
/**
|
|
845
|
+
* 3.2 停止本地摄像头采集和预览
|
|
846
|
+
*/
|
|
847
|
+
stopLocalPreview(): void;
|
|
848
|
+
/**
|
|
849
|
+
* 3.3 是否屏蔽自己的视频画面
|
|
850
|
+
*
|
|
851
|
+
* 当屏蔽本地视频后,房间里的其它成员将会收到 onUserVideoAvailable 回调通知
|
|
852
|
+
* @param {Boolean} mute - true:屏蔽;false:开启,默认值:false
|
|
853
|
+
*/
|
|
854
|
+
muteLocalVideo(mute: boolean, streamType?: TRTCVideoStreamType): void;
|
|
855
|
+
/**
|
|
856
|
+
* 3.4 开始显示远端视频画面
|
|
857
|
+
*
|
|
858
|
+
* 在收到 SDK 的 onUserVideoAvailable(userId, true) 通知时,可以获知该远程用户开启了视频,
|
|
859
|
+
* 此后调用 startRemoteView(userId) 接口加载该用户的远程画面时,可以用 loading 动画优化加载过程中的等待体验。
|
|
860
|
+
* 待该用户的首帧画面开始显示时,您会收到 onFirstVideoFrame(userId) 事件回调。
|
|
861
|
+
*
|
|
862
|
+
* @param {String} userId - 对方的用户标识
|
|
863
|
+
* @param {HTMLElement} view - 承载预览画面的 DOM
|
|
864
|
+
* @param {TRTCVideoStreamType} streamType - 视频流类型
|
|
865
|
+
*/
|
|
866
|
+
startRemoteView(userId: string, view: HTMLElement, streamType?: TRTCVideoStreamType): void;
|
|
867
|
+
/**
|
|
868
|
+
* 3.5 停止显示远端视频画面,同时不再拉取该远端用户的视频数据流
|
|
869
|
+
*
|
|
870
|
+
* 调用此接口后,SDK 会停止接收该用户的远程视频流,同时会清理相关的视频显示资源。
|
|
871
|
+
*
|
|
872
|
+
* @param {String} userId - 对方的用户标识
|
|
873
|
+
* @param {TRTCVideoStreamType} streamType - 视频流类型
|
|
874
|
+
*/
|
|
875
|
+
stopRemoteView(userId: string, streamType?: TRTCVideoStreamType): void;
|
|
876
|
+
/**
|
|
877
|
+
* 3.6 停止显示所有远端视频画面,同时不再拉取该远端用户的视频数据流
|
|
878
|
+
*
|
|
879
|
+
* 注意:如果有屏幕分享的画面在显示,则屏幕分享的画面也会一并被关闭。
|
|
880
|
+
*
|
|
881
|
+
*/
|
|
882
|
+
stopAllRemoteView(): void;
|
|
883
|
+
/**
|
|
884
|
+
* 3.7 暂停接收指定的远端视频流
|
|
885
|
+
*
|
|
886
|
+
* 该接口仅停止接收远程用户的视频流,但并不释放显示资源,所以视频画面会冻屏在 mute 前的最后一帧。
|
|
887
|
+
*
|
|
888
|
+
* @param {String} userId - 对方的用户标识
|
|
889
|
+
* @param {Boolean} mute - 是否停止接收
|
|
890
|
+
* @param {TRTCVideoStreamType} streamType - 视频流类型
|
|
891
|
+
*/
|
|
892
|
+
muteRemoteVideoStream(userId: string, mute: boolean, streamType?: TRTCVideoStreamType): void;
|
|
893
|
+
/**
|
|
894
|
+
* 3.8 停止接收所有远端视频流
|
|
895
|
+
*
|
|
896
|
+
* @param {Boolean} mute - 是否停止接收
|
|
897
|
+
*/
|
|
898
|
+
muteAllRemoteVideoStreams(mute: boolean): void;
|
|
899
|
+
/**
|
|
900
|
+
* 3.9 设置视频编码器相关参数
|
|
901
|
+
*
|
|
902
|
+
* 该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)
|
|
903
|
+
*
|
|
904
|
+
* @param {TRTCVideoEncParam} params - 视频编码参数
|
|
905
|
+
* @param {TRTCVideoResolution} params.videoResolution - 视频分辨率
|
|
906
|
+
* @param {TRTCVideoResolutionMode} params.resMode - 分辨率模式(横屏分辨率 - 竖屏分辨率)
|
|
907
|
+
* - TRTCVideoResolutionModeLandscape: 横屏分辨率
|
|
908
|
+
* - TRTCVideoResolutionModePortrait : 竖屏分辨率
|
|
909
|
+
* @param {Number} params.videoFps - 视频采集帧率
|
|
910
|
+
* @param {Number} params.videoBitrate - 视频上行码率
|
|
911
|
+
* @param {Number} params.minVideoBitrate - 视频最小码率
|
|
912
|
+
*/
|
|
913
|
+
setVideoEncoderParam(params: any): void;
|
|
914
|
+
/**
|
|
915
|
+
* 3.10 设置网络流控相关参数
|
|
916
|
+
*
|
|
917
|
+
* 该设置决定了 SDK 在各种网络环境下的调控策略(例如弱网下是“保清晰”还是“保流畅”)
|
|
918
|
+
*
|
|
919
|
+
* @param {TRTCNetworkQosParam} params - 网络流控参数
|
|
920
|
+
* @param {TRTCVideoQosPreference} params.preference - 弱网下是“保清晰”还是“保流畅”
|
|
921
|
+
* - TRTCVideoQosPreferenceSmooth: 弱网下保流畅,在遭遇弱网环境时首先确保声音的流畅和优先发送,画面会变得模糊且会有较多马赛克,但可以保持流畅不卡顿。
|
|
922
|
+
* - TRTCVideoQosPreferenceClear : 弱网下保清晰,在遭遇弱网环境时,画面会尽可能保持清晰,但可能会更容易出现卡顿。
|
|
923
|
+
* @param {TRTCQosControlMode} params.controlMode - 流控模式(云端控制 - 客户端控制)
|
|
924
|
+
* - TRTCQosControlModeClient: 客户端控制(用于 SDK 开发内部调试,客户请勿使用)
|
|
925
|
+
* - TRTCQosControlModeServer: 云端控制 (默认)
|
|
926
|
+
*/
|
|
927
|
+
setNetworkQosParam(params: any): void;
|
|
928
|
+
/**
|
|
929
|
+
* 3.11 设置本地图像(主流)的渲染参数
|
|
930
|
+
*
|
|
931
|
+
* @param {TRTCRenderParams} params - 本地图像的参数
|
|
932
|
+
* @param {TRTCVideoRotation} params.rotation - 视频画面旋转方向
|
|
933
|
+
* @param {TRTCVideoFillMode} params.fillMode - 视频画面填充模式
|
|
934
|
+
* @param {TRTCVideoMirrorType} params.mirrorType - 画面渲染镜像类型
|
|
935
|
+
*/
|
|
936
|
+
setLocalRenderParams(params: TRTCRenderParams): void;
|
|
937
|
+
/**
|
|
938
|
+
* 3.12 废弃接口: 设置本地图像的渲染模式
|
|
939
|
+
*
|
|
940
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setLocalRenderParams 接口替代。
|
|
941
|
+
* @param {TRTCVideoFillMode} mode - 填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode_Fit
|
|
942
|
+
* - TRTCVideoFillMode_Fill: 图像铺满屏幕,超出显示视窗的视频部分将被截掉,所以画面显示可能不完整。
|
|
943
|
+
* - TRTCVideoFillMode_Fit: 图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。
|
|
944
|
+
*/
|
|
945
|
+
setLocalViewFillMode(mode: TRTCVideoFillMode): void;
|
|
946
|
+
/**
|
|
947
|
+
* 3.13 设置远端图像的渲染模式
|
|
948
|
+
*
|
|
949
|
+
* @param {String} userId - 用户 ID
|
|
950
|
+
* @param {TRTCVideoStreamType} streamType - 视频流类型
|
|
951
|
+
* @param {TRTCRenderParams} params - 本地画面渲染参数
|
|
952
|
+
* @param {TRTCVideoRotation} params.rotation - 视频画面旋转方向
|
|
953
|
+
* @param {TRTCVideoFillMode} params.fillMode - 视频画面填充模式
|
|
954
|
+
* @param {TRTCVideoMirrorType} params.mirrorType - 画面渲染镜像类型
|
|
955
|
+
*/
|
|
956
|
+
setRemoteRenderParams(userId: string, streamType: TRTCVideoStreamType, params: TRTCRenderParams): void;
|
|
957
|
+
/**
|
|
958
|
+
* 3.14 废弃接口: 设置远端图像的渲染模式
|
|
959
|
+
*
|
|
960
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setRemoteRenderParams 接口替代。
|
|
961
|
+
* @param {String} userId - 用户 ID
|
|
962
|
+
* @param {TRTCVideoFillMode} mode - 填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode_Fit
|
|
963
|
+
* - TRTCVideoFillMode_Fill: 图像铺满屏幕,超出显示视窗的视频部分将被截掉,所以画面显示可能不完整。
|
|
964
|
+
* - TRTCVideoFillMode_Fit: 图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。
|
|
965
|
+
*/
|
|
966
|
+
setRemoteViewFillMode(userId: string, mode: TRTCVideoFillMode): void;
|
|
967
|
+
/**
|
|
968
|
+
* 3.15 废弃接口: 设置本地图像的顺时针旋转角度
|
|
969
|
+
*
|
|
970
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setLocalRenderParams 接口替代。
|
|
971
|
+
* @param {TRTCVideoRotation} rotation - 支持 TRTCVideoRotation90 、 TRTCVideoRotation180 、 TRTCVideoRotation270 旋转角度,默认值:TRTCVideoRotation0
|
|
972
|
+
* - TRTCVideoRotation0 : 顺时针旋转0度
|
|
973
|
+
* - TRTCVideoRotation90 : 顺时针旋转90度
|
|
974
|
+
* - TRTCVideoRotation180: 顺时针旋转180度
|
|
975
|
+
* - TRTCVideoRotation270: 顺时针旋转270度
|
|
976
|
+
*/
|
|
977
|
+
setLocalViewRotation(rotation: TRTCVideoRotation): void;
|
|
978
|
+
/**
|
|
979
|
+
* 3.16 废弃接口: 设置远端图像的顺时针旋转角度
|
|
980
|
+
*
|
|
981
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setRemoteRenderParams 接口替代。
|
|
982
|
+
* @param {String} userId - 用户 ID
|
|
983
|
+
* @param {TRTCVideoRotation} rotation - 支持 TRTCVideoRotation90 、 TRTCVideoRotation180 、 TRTCVideoRotation270 旋转角度,默认值:TRTCVideoRotation0
|
|
984
|
+
* - TRTCVideoRotation0 : 顺时针旋转0度
|
|
985
|
+
* - TRTCVideoRotation90 : 顺时针旋转90度
|
|
986
|
+
* - TRTCVideoRotation180: 顺时针旋转180度
|
|
987
|
+
* - TRTCVideoRotation270: 顺时针旋转270度
|
|
988
|
+
*/
|
|
989
|
+
setRemoteViewRotation(userId: string, rotation: TRTCVideoRotation): void;
|
|
990
|
+
/**
|
|
991
|
+
* 3.17 设置视频编码输出的(也就是远端用户观看到的,以及服务器录制下来的)画面方向
|
|
992
|
+
*
|
|
993
|
+
* @param {TRTCVideoRotation} rotation - 目前支持 TRTCVideoRotation0 和 TRTCVideoRotation180 两个旋转角度,默认值:TRTCVideoRotation0
|
|
994
|
+
* - TRTCVideoRotation0 : 顺时针旋转0度
|
|
995
|
+
* - TRTCVideoRotation180: 顺时针旋转180度
|
|
996
|
+
*/
|
|
997
|
+
setVideoEncoderRotation(rotation: TRTCVideoRotation): void;
|
|
998
|
+
/**
|
|
999
|
+
* 3.18 废弃接口: 设置本地摄像头预览画面的镜像模式
|
|
1000
|
+
*
|
|
1001
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setLocalRenderParams 接口替代。
|
|
1002
|
+
* @param {Boolean} mirror - 镜像模式, windows 默认值: false(非镜像模式), mac 默认值: true(镜像模式)
|
|
1003
|
+
*/
|
|
1004
|
+
setLocalViewMirror(mirror: boolean): void;
|
|
1005
|
+
/**
|
|
1006
|
+
* 3.19 设置编码器输出的画面镜像模式
|
|
1007
|
+
*
|
|
1008
|
+
* 该接口不改变本地摄像头的预览画面,但会改变另一端用户看到的(以及服务器录制的)画面效果。
|
|
1009
|
+
*
|
|
1010
|
+
* @param {Boolean} mirror - 是否开启远端镜像, true:远端画面镜像;false:远端画面非镜像。默认值:false
|
|
1011
|
+
*/
|
|
1012
|
+
setVideoEncoderMirror(mirror: boolean): void;
|
|
1013
|
+
/**
|
|
1014
|
+
* 3.20 开启大小画面双路编码模式
|
|
1015
|
+
*
|
|
1016
|
+
* 如果当前用户是房间中的主要角色(例如主播、老师、主持人等),并且使用 PC 或者 Mac 环境,可以开启该模式。
|
|
1017
|
+
* 开启该模式后,当前用户会同时输出【高清】和【低清】两路视频流(但只有一路音频流)。
|
|
1018
|
+
* 对于开启该模式的当前用户,会占用更多的网络带宽,并且会更加消耗 CPU 计算资源。
|
|
1019
|
+
*
|
|
1020
|
+
* 对于同一房间的远程观众而言:
|
|
1021
|
+
* - 如果用户的下行网络很好,可以选择观看【高清】画面
|
|
1022
|
+
* - 如果用户的下行网络较差,可以选择观看【低清】画面
|
|
1023
|
+
*
|
|
1024
|
+
* @param {Boolean} enable - 是否开启小画面编码,默认值:false
|
|
1025
|
+
* @param {TRTCVideoEncParam} params - 小流的视频参数
|
|
1026
|
+
* @param {TRTCVideoResolution} params.videoResolution - 视频分辨率
|
|
1027
|
+
* @param {TRTCVideoResolutionMode} params.resMode - 分辨率模式(横屏分辨率 - 竖屏分辨率)
|
|
1028
|
+
* - TRTCVideoResolutionModeLandscape: 横屏分辨率
|
|
1029
|
+
* - TRTCVideoResolutionModePortrait : 竖屏分辨率
|
|
1030
|
+
* @param {Number} params.videoFps - 视频采集帧率
|
|
1031
|
+
* @param {Number} params.videoBitrate - 视频上行码率
|
|
1032
|
+
* @param {Number} params.minVideoBitrate - 视频最小码率
|
|
1033
|
+
*/
|
|
1034
|
+
enableSmallVideoStream(enable: boolean, params: any): void;
|
|
1035
|
+
/**
|
|
1036
|
+
* 3.21 选定观看指定 userId 的大画面或小画面
|
|
1037
|
+
*
|
|
1038
|
+
* 此功能需要该 userId 通过 enableSmallVideoStream 提前开启双路编码模式。
|
|
1039
|
+
* 如果该 userId 没有开启双路编码模式,则此操作无效。
|
|
1040
|
+
*
|
|
1041
|
+
* @param {String} userId - 用户 ID
|
|
1042
|
+
* @param {TRTCVideoStreamType} type - 视频流类型,即选择看大画面还是小画面,默认为 TRTCVideoStreamTypeBig
|
|
1043
|
+
* - TRTCVideoStreamTypeBig : 大画面视频流
|
|
1044
|
+
* - TRTCVideoStreamTypeSmall: 小画面视频流
|
|
1045
|
+
*/
|
|
1046
|
+
setRemoteVideoStreamType(userId: string, type: TRTCVideoStreamType): void;
|
|
1047
|
+
/**
|
|
1048
|
+
* 3.22 视频画面截图
|
|
1049
|
+
*
|
|
1050
|
+
* 调用截图接口后,您会收到来自 TRTCCallback 中的 [onSnapshotComplete]{@link TRTCCallback#onSnapshotComplete} 回调:
|
|
1051
|
+
* 截取本地、远程主路和远端辅流的视频画面,并通过 HBITMAP 对象返回给您。
|
|
1052
|
+
*
|
|
1053
|
+
* @param {String} userId 用户 ID,空字符串表示截取本地视频画面
|
|
1054
|
+
* @param {TRTCVideoStreamType} streamType 视频流类型,支持摄像头画面(TRTCVideoStreamTypeBig)和屏幕分享画面(TRTCVideoStreamTypeSub)
|
|
1055
|
+
*
|
|
1056
|
+
*/
|
|
1057
|
+
snapshotVideo(userId: string, type: TRTCVideoStreamType): void;
|
|
1058
|
+
/**
|
|
1059
|
+
* 3.23 废弃接口: 设定观看方优先选择的视频质量
|
|
1060
|
+
*
|
|
1061
|
+
* 低端设备推荐优先选择低清晰度的小画面。
|
|
1062
|
+
* 如果对方没有开启双路视频模式,则此操作无效。
|
|
1063
|
+
*
|
|
1064
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 startRemoteView 接口设置视频流类型参数进行替代。
|
|
1065
|
+
*
|
|
1066
|
+
* @param {TRTCVideoStreamType} type - 默认观看大画面还是小画面,默认为 TRTCVideoStreamTypeBig
|
|
1067
|
+
* - TRTCVideoStreamTypeBig : 大画面视频流
|
|
1068
|
+
* - TRTCVideoStreamTypeSmall: 小画面视频流
|
|
1069
|
+
*/
|
|
1070
|
+
setPriorRemoteVideoStreamType(type: TRTCVideoStreamType): void;
|
|
1071
|
+
/**
|
|
1072
|
+
* 4.1 开启本地音频的采集和上行
|
|
1073
|
+
*
|
|
1074
|
+
* 该函数会启动麦克风采集,并将音频数据传输给房间里的其他用户。
|
|
1075
|
+
* SDK 并不会默认开启本地的音频上行,也就说,如果您不调用这个函数,房间里的其他用户就听不到您的声音。
|
|
1076
|
+
*
|
|
1077
|
+
* 注意:TRTC SDK 并不会默认打开本地的麦克风采集。
|
|
1078
|
+
*
|
|
1079
|
+
* @param {TRTCAudioQuality} quality - 音频质量
|
|
1080
|
+
* - TRTCAudioQualitySpeech: 语音模式:采样率:16k
|
|
1081
|
+
* - TRTCAudioQualityDefault: 标准模式(或者默认模式):采样率:48k
|
|
1082
|
+
* - TRTCAudioQualityMusic: 音乐模式:采样率:48k
|
|
1083
|
+
*/
|
|
1084
|
+
startLocalAudio(quality?: TRTCAudioQuality): void;
|
|
1085
|
+
/**
|
|
1086
|
+
* 4.2 关闭本地音频的采集和上行
|
|
1087
|
+
*
|
|
1088
|
+
* 当关闭本地音频的采集和上行,房间里的其它成员会收到 onUserAudioAvailable(false) 回调通知。
|
|
1089
|
+
*/
|
|
1090
|
+
stopLocalAudio(): void;
|
|
1091
|
+
/**
|
|
1092
|
+
* 4.3 静音本地的音频
|
|
1093
|
+
*
|
|
1094
|
+
* 当静音本地音频后,房间里的其它成员会收到 onUserAudioAvailable(false) 回调通知。
|
|
1095
|
+
* 与 stopLocalAudio 不同之处在于,muteLocalAudio 并不会停止发送音视频数据,而是会继续发送码率极低的静音包。
|
|
1096
|
+
* 在对录制质量要求很高的场景中,选择 muteLocalAudio 是更好的选择,能录制出兼容性更好的 MP4 文件。
|
|
1097
|
+
* 这是由于 MP4 等视频文件格式,对于音频的连续性是要求很高的,简单粗暴地 stopLocalAudio 会导致录制出的 MP4 不易播放。
|
|
1098
|
+
*
|
|
1099
|
+
* @param {Boolean} mute - true:屏蔽;false:开启,默认值:false
|
|
1100
|
+
*/
|
|
1101
|
+
muteLocalAudio(mute: boolean): void;
|
|
1102
|
+
/**
|
|
1103
|
+
* 4.4 静音掉某一个用户的声音,同时不再拉取该远端用户的音频数据流
|
|
1104
|
+
*
|
|
1105
|
+
* @param {String} userId - 用户 ID
|
|
1106
|
+
* @param {Boolean} mute - true:静音;false:非静音
|
|
1107
|
+
*/
|
|
1108
|
+
muteRemoteAudio(userId: string, mute: boolean): void;
|
|
1109
|
+
/**
|
|
1110
|
+
* 4.5 静音掉所有用户的声音,同时不再拉取该远端用户的音频数据流
|
|
1111
|
+
*
|
|
1112
|
+
* @param {Boolean} mute - true:静音;false:非静音
|
|
1113
|
+
*/
|
|
1114
|
+
muteAllRemoteAudio(mute: boolean): void;
|
|
1115
|
+
/**
|
|
1116
|
+
* 4.6 设置某个远程用户的播放音量
|
|
1117
|
+
*
|
|
1118
|
+
* @param {String} userId 远程用户 ID
|
|
1119
|
+
* @param {Number} volume 音量大小,100为原始音量,范围是:[0 ~ 100],默认值为100
|
|
1120
|
+
*
|
|
1121
|
+
*/
|
|
1122
|
+
setRemoteAudioVolume(userId: string, volume: number): void;
|
|
1123
|
+
/**
|
|
1124
|
+
* 4.7 设置 SDK 采集音量
|
|
1125
|
+
*
|
|
1126
|
+
* @param {Number} volume - 音量大小,取值0 - 100,默认值为100
|
|
1127
|
+
*/
|
|
1128
|
+
setAudioCaptureVolume(volume: number): void;
|
|
1129
|
+
/**
|
|
1130
|
+
* 4.8 获取 SDK 采集音量
|
|
1131
|
+
*
|
|
1132
|
+
* @return {Number} SDK 采集音量
|
|
1133
|
+
*/
|
|
1134
|
+
getAudioCaptureVolume(): any;
|
|
1135
|
+
/**
|
|
1136
|
+
* 4.9 设置 SDK 播放音量
|
|
1137
|
+
*
|
|
1138
|
+
* 注意:在混合远程用户、Bgm和音效的音频流后,送入系统播放前生效。
|
|
1139
|
+
* 会影响本地录制的音量大小。
|
|
1140
|
+
* 不会影响耳返的音量。
|
|
1141
|
+
*
|
|
1142
|
+
* @param {Number} volume - 音量大小,取值0 - 100,默认值为100
|
|
1143
|
+
*/
|
|
1144
|
+
setAudioPlayoutVolume(volume: number): void;
|
|
1145
|
+
/**
|
|
1146
|
+
* 4.10 获取 SDK 播放音量
|
|
1147
|
+
*
|
|
1148
|
+
* @return {Number} SDK 播放音量
|
|
1149
|
+
*/
|
|
1150
|
+
getAudioPlayoutVolume(): any;
|
|
1151
|
+
/**
|
|
1152
|
+
* 4.11 启用或关闭音量大小提示
|
|
1153
|
+
*
|
|
1154
|
+
* 开启此功能后,SDK 会在 onUserVoiceVolume() 中反馈对每一路声音音量大小值的评估。
|
|
1155
|
+
* 我们在 Demo 中有一个音量大小的提示条,就是基于这个接口实现的。
|
|
1156
|
+
* 如希望打开此功能,请在 startLocalAudio() 之前调用。
|
|
1157
|
+
*
|
|
1158
|
+
* @param {Number} interval - 设置 onUserVoiceVolume 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms
|
|
1159
|
+
*/
|
|
1160
|
+
enableAudioVolumeEvaluation(interval: number): void;
|
|
1161
|
+
/**
|
|
1162
|
+
* 4.12 开始录音
|
|
1163
|
+
*
|
|
1164
|
+
* 该方法调用后, SDK 会将通话过程中的所有音频(包括本地音频,远端音频,BGM等)录制到一个文件里。
|
|
1165
|
+
* 无论是否进房,调用该接口都生效。
|
|
1166
|
+
* 如果调用 exitRoom 时还在录音,录音会自动停止。
|
|
1167
|
+
*
|
|
1168
|
+
* 注意:录音文件路径需精确到文件名及格式后缀,格式后缀决定录制文件的格式。
|
|
1169
|
+
* 例如:指定路径为 path/to/audio.aac,则会生成一个 AAC 格式的文件。目前支持的格式有 PCM, WAV, AAC
|
|
1170
|
+
*
|
|
1171
|
+
* @param {TRTCAudioRecordingParams} params - 录音参数。
|
|
1172
|
+
* @param {String} params.filePath - 文件路径(必填),录音文件的保存路径。该路径需要用户自行指定,请确保路径存在且可写
|
|
1173
|
+
* @param {TRTCAudioRecordingContent} params.recordingContent - 音频录制内容类型
|
|
1174
|
+
* @return {Number} 0:成功;-1:录音已开始;-2:文件或目录创建失败;-3:后缀指定的音频格式不支持
|
|
1175
|
+
*
|
|
1176
|
+
* 注意:
|
|
1177
|
+
* - 在 9.3 之前的版本,params 为 string 代表 录音文件路径(必填), 9.3 以及以后同时支持 string 类型和 TRTCAudioRecordingParams。
|
|
1178
|
+
*/
|
|
1179
|
+
startAudioRecording(params: TRTCAudioRecordingParams | string): number;
|
|
1180
|
+
/**
|
|
1181
|
+
* 4.13 停止录音
|
|
1182
|
+
*
|
|
1183
|
+
* 如果调用 exitRoom 时还在录音,录音会自动停止。
|
|
1184
|
+
*/
|
|
1185
|
+
stopAudioRecording(): void;
|
|
1186
|
+
/**
|
|
1187
|
+
* 4.14 废弃接口: 设置音频质量
|
|
1188
|
+
*
|
|
1189
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 startLocalAudio 接口设置音频质量参数进行替代。
|
|
1190
|
+
* 设置音频质量,主播端的音质越高,观众端的听感越好,但传输所依赖的带宽也就越高,在带宽有限的场景下也更容易出现卡顿。
|
|
1191
|
+
*
|
|
1192
|
+
* 注意:该方法需要在 startLocalAudio 之前进行设置,否则不会生效。
|
|
1193
|
+
* @param {TRTCAudioQuality} quality - 音频质量
|
|
1194
|
+
* - TRTCAudioQualitySpeech: 语音模式:采样率:16k
|
|
1195
|
+
* - TRTCAudioQualityDefault: 标准模式(或者默认模式):采样率:48k
|
|
1196
|
+
* - TRTCAudioQualityMusic: 音乐模式:采样率:48k
|
|
1197
|
+
*/
|
|
1198
|
+
setAudioQuality(quality: TRTCAudioQuality): void;
|
|
1199
|
+
/**
|
|
1200
|
+
* 5.1 获取摄像头设备列表
|
|
1201
|
+
*
|
|
1202
|
+
* @example
|
|
1203
|
+
* var cameralist = this.rtcCloud.getCameraDevicesList();
|
|
1204
|
+
* for (i=0;i<cameralist.length;i++) {
|
|
1205
|
+
* var camera = cameralist[i];
|
|
1206
|
+
* console.info("camera deviceName: " + camera.deviceName + " deviceId:" + camera.deviceId);
|
|
1207
|
+
* }
|
|
1208
|
+
* @return {TRTCDeviceInfo[]} 摄像头管理器列表
|
|
1209
|
+
*/
|
|
1210
|
+
getCameraDevicesList(): any;
|
|
1211
|
+
/**
|
|
1212
|
+
* 5.2 设置要使用的摄像头
|
|
1213
|
+
*
|
|
1214
|
+
* @param {String} deviceId - 从 getCameraDevicesList 中得到的设备 ID
|
|
1215
|
+
*/
|
|
1216
|
+
setCurrentCameraDevice(deviceId: string): void;
|
|
1217
|
+
/**
|
|
1218
|
+
* 5.3 获取当前使用的摄像头
|
|
1219
|
+
*
|
|
1220
|
+
* @return {TRTCDeviceInfo} 设备信息,能获取设备 ID 和设备名称
|
|
1221
|
+
*/
|
|
1222
|
+
getCurrentCameraDevice(): any;
|
|
1223
|
+
/**
|
|
1224
|
+
* 6.1 获取麦克风设备列表
|
|
1225
|
+
*
|
|
1226
|
+
* @example
|
|
1227
|
+
* var miclist = this.rtcCloud.getMicDevicesList();
|
|
1228
|
+
* for (i=0;i<miclist.length;i++) {
|
|
1229
|
+
* var mic = miclist[i];
|
|
1230
|
+
* console.info("mic deviceName: " + mic.deviceName + " deviceId:" + mic.deviceId);
|
|
1231
|
+
* }
|
|
1232
|
+
* @return {TRTCDeviceInfo[]} 麦克风管理器列表
|
|
1233
|
+
*/
|
|
1234
|
+
getMicDevicesList(): any;
|
|
1235
|
+
/**
|
|
1236
|
+
* 6.2 获取当前选择的麦克风
|
|
1237
|
+
*
|
|
1238
|
+
* @return {TRTCDeviceInfo} 设备信息,能获取设备 ID 和设备名称
|
|
1239
|
+
*/
|
|
1240
|
+
getCurrentMicDevice(): any;
|
|
1241
|
+
/**
|
|
1242
|
+
* 6.3 设置要使用的麦克风
|
|
1243
|
+
*
|
|
1244
|
+
* 选择指定的麦克风作为录音设备,不调用该接口时,默认选择索引为0的麦克风
|
|
1245
|
+
*
|
|
1246
|
+
* @param {String} micId - 从 getMicDevicesList 中得到的设备 ID
|
|
1247
|
+
*/
|
|
1248
|
+
setCurrentMicDevice(micId: string): void;
|
|
1249
|
+
/**
|
|
1250
|
+
* 6.4 获取系统当前麦克风设备音量
|
|
1251
|
+
*
|
|
1252
|
+
* 注意:查询的是系统硬件音量大小。
|
|
1253
|
+
* @return {Number} 音量值,范围是0 - 100
|
|
1254
|
+
*/
|
|
1255
|
+
getCurrentMicDeviceVolume(): any;
|
|
1256
|
+
/**
|
|
1257
|
+
* 6.5 设置系统当前麦克风设备的音量
|
|
1258
|
+
*
|
|
1259
|
+
* 注意:该接口的功能是调节系统采集音量,如果用户直接调节系统设置的采集音量时,该接口的设置结果会被用户的操作所覆盖。
|
|
1260
|
+
* @param {Number} volume - 麦克风音量值,范围0 - 100
|
|
1261
|
+
*/
|
|
1262
|
+
setCurrentMicDeviceVolume(volume: number): void;
|
|
1263
|
+
/**
|
|
1264
|
+
* 6.6 设置系统当前麦克风设备的静音状态
|
|
1265
|
+
*
|
|
1266
|
+
* @param {Boolean} mute 设置为 true 时,麦克风设备静音;设置为 false时,麦克风设备取消静音
|
|
1267
|
+
*/
|
|
1268
|
+
setCurrentMicDeviceMute(mute: boolean): void;
|
|
1269
|
+
/**
|
|
1270
|
+
* 6.7 获取系统当前麦克风设备是否静音
|
|
1271
|
+
*
|
|
1272
|
+
* @return {Boolean} 静音状态
|
|
1273
|
+
*/
|
|
1274
|
+
getCurrentMicDeviceMute(): any;
|
|
1275
|
+
/**
|
|
1276
|
+
* 6.8 获取扬声器设备列表
|
|
1277
|
+
*
|
|
1278
|
+
* @example
|
|
1279
|
+
* var speakerlist = this.rtcCloud.getSpeakerDevicesList();
|
|
1280
|
+
* for (i=0;i<speakerlist.length;i++) {
|
|
1281
|
+
* var speaker = speakerlist[i];
|
|
1282
|
+
* console.info("mic deviceName: " + speaker.deviceName + " deviceId:" + speaker.deviceId);
|
|
1283
|
+
* }
|
|
1284
|
+
* @return {TRTCDeviceInfo[]} 扬声器管理器列表
|
|
1285
|
+
*/
|
|
1286
|
+
getSpeakerDevicesList(): any;
|
|
1287
|
+
/**
|
|
1288
|
+
* 6.9 获取当前的扬声器设备
|
|
1289
|
+
*
|
|
1290
|
+
* @return {TRTCDeviceInfo} 设备信息,能获取设备 ID 和设备名称
|
|
1291
|
+
*/
|
|
1292
|
+
getCurrentSpeakerDevice(): any;
|
|
1293
|
+
/**
|
|
1294
|
+
* 6.10 设置要使用的扬声器
|
|
1295
|
+
*
|
|
1296
|
+
* @param {String} speakerId - 从 getSpeakerDevicesList 中得到的设备 ID
|
|
1297
|
+
*/
|
|
1298
|
+
setCurrentSpeakerDevice(speakerId: string): void;
|
|
1299
|
+
/**
|
|
1300
|
+
* 6.11 获取系统当前扬声器设备音量
|
|
1301
|
+
*
|
|
1302
|
+
* 注意:
|
|
1303
|
+
* - SDK6.7 及以下版本,windows 查询的不是系统扬声器的音量大小,mac 是查询系统扬声器音量大小
|
|
1304
|
+
* - SDK6.8 及以上版本,windows 和 mac 查询的都是系统扬声器的音量大小
|
|
1305
|
+
*
|
|
1306
|
+
* @return {Number} 扬声器音量,范围0 - 100
|
|
1307
|
+
*/
|
|
1308
|
+
getCurrentSpeakerVolume(): any;
|
|
1309
|
+
/**
|
|
1310
|
+
* 6.12 设置系统当前扬声器设备音量
|
|
1311
|
+
*
|
|
1312
|
+
* 注意:该接口的功能是调节系统播放音量,如果用户直接调节系统设置的播放音量时,该接口的设置结果会被用户的操作所覆盖。
|
|
1313
|
+
* - SDK6.7 及以下版本,windows 设置的不是系统扬声器的音量大小,mac 是设置系统扬声器音量大小
|
|
1314
|
+
* - SDK6.8 及以上版本,windows 和 mac 设置的都是系统扬声器的音量大小
|
|
1315
|
+
*
|
|
1316
|
+
* @param {Number} volume - 设置的扬声器音量,范围0 - 100
|
|
1317
|
+
*/
|
|
1318
|
+
setCurrentSpeakerVolume(volume: number): void;
|
|
1319
|
+
/**
|
|
1320
|
+
* 6.13 设置系统当前扬声器设备的静音状态
|
|
1321
|
+
*
|
|
1322
|
+
* @param {Boolean} mute 设置为 true 时,扬声器设备静音;设置为 false时,扬声器设备取消静音
|
|
1323
|
+
*/
|
|
1324
|
+
setCurrentSpeakerDeviceMute(mute: boolean): void;
|
|
1325
|
+
/**
|
|
1326
|
+
* 6.14 获取系统当前扬声器设备是否静音
|
|
1327
|
+
*
|
|
1328
|
+
* @return {Boolean} 静音状态
|
|
1329
|
+
*/
|
|
1330
|
+
getCurrentSpeakerDeviceMute(): any;
|
|
1331
|
+
/**
|
|
1332
|
+
* 7.1 设置美颜、美白、红润效果级别
|
|
1333
|
+
*
|
|
1334
|
+
* SDK 内部集成了两套风格不同的磨皮算法,一套我们取名叫“光滑”,适用于美女秀场,效果比较明显。
|
|
1335
|
+
* 另一套我们取名“自然”,磨皮算法更多地保留了面部细节,主观感受上会更加自然。
|
|
1336
|
+
*
|
|
1337
|
+
* @param {TRTCBeautyStyle} style - 美颜风格,光滑或者自然,光滑风格磨皮更加明显,适合娱乐场景。
|
|
1338
|
+
* - TRTCBeautyStyleSmooth: 光滑,适用于美女秀场,效果比较明显。
|
|
1339
|
+
* - TRTCBeautyStyleNature: 自然,磨皮算法更多地保留了面部细节,主观感受上会更加自然。
|
|
1340
|
+
* @param {Number} beauty - 美颜级别,取值范围0 - 9,0表示关闭,1 - 9值越大,效果越明显
|
|
1341
|
+
* @param {Number} white - 美白级别,取值范围0 - 9,0表示关闭,1 - 9值越大,效果越明显
|
|
1342
|
+
* @param {Number} ruddiness - 红润级别,取值范围0 - 9,0表示关闭,1 - 9值越大,效果越明显,该参数 windows 平台暂未生效
|
|
1343
|
+
*/
|
|
1344
|
+
setBeautyStyle(style: TRTCBeautyStyle, beauty: number, white: number, ruddiness: number): void;
|
|
1345
|
+
/**
|
|
1346
|
+
* 7.2 设置水印
|
|
1347
|
+
*
|
|
1348
|
+
* 水印的位置是通过 xOffset, yOffset, fWidthRatio 来指定的。
|
|
1349
|
+
* - xOffset:水印的坐标,取值范围为0 - 1的浮点数。
|
|
1350
|
+
* - yOffset:水印的坐标,取值范围为0 - 1的浮点数。
|
|
1351
|
+
* - fWidthRatio:水印的大小比例,取值范围为0 - 1的浮点数。
|
|
1352
|
+
*
|
|
1353
|
+
* 注意:Windows 平台不支持设置水印
|
|
1354
|
+
*
|
|
1355
|
+
* @param {TRTCVideoStreamType} streamType - 要设置水印的流类型(TRTCVideoStreamTypeBig、TRTCVideoStreamTypeSub)
|
|
1356
|
+
* @param {ArrayBuffer} srcData - 水印图片源数据(传 null 表示去掉水印)
|
|
1357
|
+
* @param {TRTCWaterMarkSrcType} srcType - 水印图片源数据类型
|
|
1358
|
+
* - TRTCWaterMarkSrcTypeFile : Electron 平台不支持
|
|
1359
|
+
* - TRTCWaterMarkSrcTypeBGRA32: BGRA32格式内存块
|
|
1360
|
+
* - TRTCWaterMarkSrcTypeRGBA32: RGBA32格式内存块
|
|
1361
|
+
* @param {Number} nWidth - 水印图片像素宽度(源数据为文件路径时忽略该参数)
|
|
1362
|
+
* @param {Number} nHeight - 水印图片像素高度(源数据为文件路径时忽略该参数)
|
|
1363
|
+
* @param {Number} xOffset - 水印显示的左上角 x 轴偏移
|
|
1364
|
+
* @param {Number} yOffset - 水印显示的左上角 y 轴偏移
|
|
1365
|
+
* @param {Number} fWidthRatio - 水印显示的宽度占画面宽度比例(水印按该参数等比例缩放显示)
|
|
1366
|
+
*/
|
|
1367
|
+
setWaterMark(streamType: TRTCVideoStreamType, srcData: ArrayBuffer | null, srcType: TRTCWaterMarkSrcType, nWidth: number, nHeight: number, xOffset: number, yOffset: number, fWidthRatio: number): void;
|
|
1368
|
+
/**
|
|
1369
|
+
* 8.1 废弃接口: 开始显示远端用户的辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)
|
|
1370
|
+
*
|
|
1371
|
+
* - startRemoteView() 用于显示主路画面(TRTCVideoStreamTypeBig,一般用于摄像头)。
|
|
1372
|
+
* - startRemoteSubStreamView() 用于显示辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)。
|
|
1373
|
+
*
|
|
1374
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 startRemoteView 接口替代。
|
|
1375
|
+
*
|
|
1376
|
+
* 注意:请在 onUserSubStreamAvailable 回调后再调用这个接口。
|
|
1377
|
+
*
|
|
1378
|
+
* @param {String} userId - 对方的用户标识
|
|
1379
|
+
* @param {HTMLElement} view - 承载预览画面的 DOM
|
|
1380
|
+
*/
|
|
1381
|
+
startRemoteSubStreamView(userId: string, view: HTMLElement): void;
|
|
1382
|
+
/**
|
|
1383
|
+
* 8.2 废弃接口: 停止显示远端用户的辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)。
|
|
1384
|
+
*
|
|
1385
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 stopRemoteView 接口替代。
|
|
1386
|
+
*
|
|
1387
|
+
* @param {String} userId - 对方的用户标识
|
|
1388
|
+
*/
|
|
1389
|
+
stopRemoteSubStreamView(userId: string): void;
|
|
1390
|
+
/**
|
|
1391
|
+
* 8.3 废弃接口: 设置辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)的显示模式。
|
|
1392
|
+
*
|
|
1393
|
+
* - setRemoteViewFillMode() 用于设置远端主路画面(TRTCVideoStreamTypeBig,一般用于摄像头)的显示模式。
|
|
1394
|
+
* - setRemoteSubStreamViewFillMode() 用于设置远端辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)的显示模式。
|
|
1395
|
+
*
|
|
1396
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setRemoteRenderParams 接口替代。
|
|
1397
|
+
*
|
|
1398
|
+
* @param {String} userId - 用户的 ID
|
|
1399
|
+
* @param {TRTCVideoFillMode} mode - 填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode_Fit
|
|
1400
|
+
* - TRTCVideoFillMode_Fill: 图像铺满屏幕,超出显示视窗的视频部分将被截掉,所以画面显示可能不完整。
|
|
1401
|
+
* - TRTCVideoFillMode_Fit: 图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。
|
|
1402
|
+
*/
|
|
1403
|
+
setRemoteSubStreamViewFillMode(userId: string, mode: TRTCVideoFillMode): void;
|
|
1404
|
+
/**
|
|
1405
|
+
* 8.4 废弃接口: 设置辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)的顺时针旋转角度
|
|
1406
|
+
*
|
|
1407
|
+
* - setRemoteViewRotation() 用于设置远端主路画面(TRTCVideoStreamTypeBig,一般用于摄像头)的旋转角度。
|
|
1408
|
+
* - setRemoteSubStreamViewRotation() 用于设置远端辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)的旋转角度。
|
|
1409
|
+
*
|
|
1410
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setRemoteRenderParams 接口替代。
|
|
1411
|
+
*
|
|
1412
|
+
* @param {String} userId - 用户 ID
|
|
1413
|
+
* @param {TRTCVideoRotation} rotation - 支持90、180、270旋转角度
|
|
1414
|
+
*/
|
|
1415
|
+
setRemoteSubStreamViewRotation(userId: string, rotation: TRTCVideoRotation): void;
|
|
1416
|
+
/**
|
|
1417
|
+
* 8.5 枚举可共享的窗口列表
|
|
1418
|
+
*
|
|
1419
|
+
* 如果您要给您的 App 增加屏幕分享功能,一般需要先显示一个窗口选择界面,这样用户可以选择希望分享的窗口。
|
|
1420
|
+
* 通过如下函数,您可以获得可分享窗口的 ID、类型、窗口名称以及缩略图。
|
|
1421
|
+
* 拿到这些信息后,您就可以实现一个窗口选择界面,当然,您也可以使用我们在 Demo 源码中已经实现好的一个界面。
|
|
1422
|
+
*
|
|
1423
|
+
* 注意:返回的列表中包括屏幕和应用窗口,屏幕会在列表的前面几个元素中。
|
|
1424
|
+
*
|
|
1425
|
+
* @param {Number} thumbWidth - 缩略图宽度,指定要获取的窗口缩略图大小,缩略图可用于绘制在窗口选择界面上
|
|
1426
|
+
* @param {Number} thumbHeight - 缩略图高度,指定要获取的窗口缩略图大小,缩略图可用于绘制在窗口选择界面上
|
|
1427
|
+
* @param {Number} iconWidth - 图标宽度,指定要获取的窗口图标大小
|
|
1428
|
+
* @param {Number} iconHeight - 图标高度,指定要获取的窗口图标大小
|
|
1429
|
+
*
|
|
1430
|
+
* @return {TRTCScreenCaptureSourceInfo[]} 窗口列表包括屏幕
|
|
1431
|
+
*/
|
|
1432
|
+
getScreenCaptureSources(thumbWidth: number, thumbHeight: number, iconWidth: number, iconHeight: number): any;
|
|
1433
|
+
/**
|
|
1434
|
+
* 8.6 设置屏幕共享参数,该方法在屏幕共享过程中也可以调用
|
|
1435
|
+
*
|
|
1436
|
+
* 如果您期望在屏幕分享的过程中,切换想要分享的窗口,可以再次调用这个函数而不需要重新开启屏幕分享。
|
|
1437
|
+
*
|
|
1438
|
+
* 支持如下四种情况:
|
|
1439
|
+
* - 共享整个屏幕:sourceInfoList 中 type 为 Screen 的 source,captureRect 设为 { 0, 0, 0, 0 }
|
|
1440
|
+
* - 共享指定区域:sourceInfoList 中 type 为 Screen 的 source,captureRect 设为非 NULL,例如 { 100, 100, 300, 300 }
|
|
1441
|
+
* - 共享整个窗口:sourceInfoList 中 type 为 Window 的 source,captureRect 设为 { 0, 0, 0, 0 }
|
|
1442
|
+
* - 共享窗口区域:sourceInfoList 中 type 为 Window 的 source,captureRect 设为非 NULL,例如 { 100, 100, 300, 300 }
|
|
1443
|
+
*
|
|
1444
|
+
* @param {TRTCScreenCaptureSourceInfo} source - 指定分享源,详情参考TRTCScreenCaptureSourceInfo 定义
|
|
1445
|
+
* @param {Rect} captureRect - 指定捕获的区域
|
|
1446
|
+
* @param {TRTCScreenCaptureProperty} property - 指定屏幕分享目标的属性,包括捕获鼠标,高亮捕获窗口等,详情参考TRTCScreenCaptureProperty 定义
|
|
1447
|
+
*
|
|
1448
|
+
* 废弃参数使用方法(针对 9.3 以下版本):
|
|
1449
|
+
* @param {TRTCScreenCaptureSourceType} type - 采集源类型
|
|
1450
|
+
* - TRTCScreenCaptureSourceTypeWindow: 该分享目标是某一个Windows窗口
|
|
1451
|
+
* - TRTCScreenCaptureSourceTypeScreen: 该分享目标是整个Windows桌面
|
|
1452
|
+
* - TRTCScreenCaptureSourceTypeCustom: 该分享目标是自定义窗口区域
|
|
1453
|
+
* @param {String} sourceId - 采集源ID,对于窗口,该字段指示窗口句柄;对于屏幕,该字段指示屏幕ID
|
|
1454
|
+
* @param {String} sourcename - 采集源名称,UTF8编码
|
|
1455
|
+
* @param {Rect} captureRect - 指定捕获的区域
|
|
1456
|
+
* @param {Number} captureRect.left - 指定捕获的区域的左坐标
|
|
1457
|
+
* @param {Number} captureRect.top - 指定捕获的区域的上坐标
|
|
1458
|
+
* @param {Number} captureRect.right - 指定捕获的区域的右坐标
|
|
1459
|
+
* @param {Number} captureRect.bottom - 指定捕获的区域的下坐标
|
|
1460
|
+
* @param {Boolean} captureMouse - 指定是否捕获鼠标指针
|
|
1461
|
+
* @param {Boolean} highlightWindow - 指定是否高亮正在共享的窗口,以及当捕获图像被遮挡时高亮遮挡窗口提示用户移走遮挡
|
|
1462
|
+
*/
|
|
1463
|
+
selectScreenCaptureTarget(source: TRTCScreenCaptureSourceInfo | number, captureRect: Rect | string, property: TRTCScreenCaptureProperty | string, deprecatedCaptureRect?: Rect, captureMouse?: boolean, highlightWindow?: boolean): any;
|
|
1464
|
+
/**
|
|
1465
|
+
* 8.7 启动屏幕分享,支持选择使用主路或辅路进行屏幕分享。(暂不支持 mac 平台预览界面)
|
|
1466
|
+
*
|
|
1467
|
+
* 注意:
|
|
1468
|
+
* 一个用户同时最多只能上传一条主路(TRTCVideoStreamTypeBig)画面和一条辅路(TRTCVideoStreamTypeSub)画面,
|
|
1469
|
+
* 默认情况下,屏幕分享使用辅路画面,如果使用主路画面,建议您提前停止摄像头采集(stopLocalPreview)避免相互冲突。
|
|
1470
|
+
*
|
|
1471
|
+
* @param {HTMLElement} view - 承载预览画面的 DOM
|
|
1472
|
+
* @param {TRTCVideoStreamType} type 屏幕分享使用的线路,可以设置为主路(TRTCVideoStreamTypeBig)或者辅路(TRTCVideoStreamTypeSub),默认使用辅路。
|
|
1473
|
+
* @param {TRTCVideoEncParam} params 屏幕分享的画面编码参数,可以设置为 null,表示让 SDK 选择最佳的编码参数(分辨率、码率等)。即使在调用 startScreenCapture 时设置 type=TRTCVideoStreamTypeBig,依然可以使用此接口更新屏幕分享的编码参数。
|
|
1474
|
+
*/
|
|
1475
|
+
startScreenCapture(view?: HTMLElement | null, type?: TRTCVideoStreamType, params?: any): void;
|
|
1476
|
+
/**
|
|
1477
|
+
* 8.8 暂停屏幕分享
|
|
1478
|
+
*/
|
|
1479
|
+
pauseScreenCapture(): void;
|
|
1480
|
+
/**
|
|
1481
|
+
* 8.9 恢复屏幕分享
|
|
1482
|
+
*/
|
|
1483
|
+
resumeScreenCapture(): void;
|
|
1484
|
+
/**
|
|
1485
|
+
* 8.10 停止屏幕分享
|
|
1486
|
+
*/
|
|
1487
|
+
stopScreenCapture(): void;
|
|
1488
|
+
/**
|
|
1489
|
+
* 8.11 设置辅流(屏幕分享)的编码器参数
|
|
1490
|
+
*
|
|
1491
|
+
* - setVideoEncoderParam() 用于设置远端主路画面(TRTCVideoStreamTypeBig,一般用于摄像头)的编码参数。
|
|
1492
|
+
* - setSubStreamEncoderParam() 用于设置远端辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)的编码参数。
|
|
1493
|
+
*
|
|
1494
|
+
* 该设置决定了远端用户看到的画面质量,同时也是云端录制出的视频文件的画面质量。
|
|
1495
|
+
*
|
|
1496
|
+
* @param {TRTCVideoEncParam} params - 辅流(屏幕分享)编码参数
|
|
1497
|
+
* @param {TRTCVideoResolution} params.videoResolution - 视频分辨率
|
|
1498
|
+
* @param {TRTCVideoResolutionMode} params.resMode - 分辨率模式(横屏分辨率 - 竖屏分辨率)
|
|
1499
|
+
* - TRTCVideoResolutionModeLandscape: 横屏分辨率
|
|
1500
|
+
* - TRTCVideoResolutionModePortrait : 竖屏分辨率
|
|
1501
|
+
* @param {Number} params.videoFps - 视频采集帧率
|
|
1502
|
+
* @param {Number} params.videoBitrate - 视频上行码率
|
|
1503
|
+
* @param {Number} params.minVideoBitrate - 最小码率
|
|
1504
|
+
*/
|
|
1505
|
+
setSubStreamEncoderParam(params: any): void;
|
|
1506
|
+
/**
|
|
1507
|
+
* 8.12 设置辅流(屏幕分享)的混音音量大小
|
|
1508
|
+
*
|
|
1509
|
+
* 这个数值越高,辅路音量的占比就约高,麦克风音量占比就越小,所以不推荐设置得太大,否则麦克风的声音就被压制了。
|
|
1510
|
+
*
|
|
1511
|
+
* @param {Number} volume - 设置的混音音量大小,范围0 - 100
|
|
1512
|
+
*/
|
|
1513
|
+
setSubStreamMixVolume(volume: number): void;
|
|
1514
|
+
/**
|
|
1515
|
+
* 8.13 将指定窗口加入屏幕分享的排除列表中,加入排除列表中的窗口不会被分享出去
|
|
1516
|
+
*
|
|
1517
|
+
* 支持启动屏幕分享前设置过滤窗口,也支持屏幕分享过程中动态添加过滤窗口。
|
|
1518
|
+
*
|
|
1519
|
+
* @param {String} win - 不希望分享出去的窗口
|
|
1520
|
+
* - 该方法只有在 TRTCScreenCaptureSourceInfo 中的 type 指定为 TRTCScreenCaptureSourceTypeScreen 时生效,即分享屏幕时生效
|
|
1521
|
+
* - Windows下该方法添加的窗口列表会在退房后清空;Mac下在退出房间时不会自动清空,需要调用一次removeAllExcludedShareWindow()方法清空列表。
|
|
1522
|
+
*/
|
|
1523
|
+
addExcludedShareWindow(win: string): void;
|
|
1524
|
+
/**
|
|
1525
|
+
* 8.14 将指定窗口从屏幕分享的排除列表中移除
|
|
1526
|
+
*
|
|
1527
|
+
* @param {String} win - 不希望分享出去的窗口
|
|
1528
|
+
* - 该方法只有在 TRTCScreenCaptureSourceInfo 中的 type 指定为 TRTCScreenCaptureSourceTypeScreen 时生效,即分享屏幕时生效
|
|
1529
|
+
*/
|
|
1530
|
+
removeExcludedShareWindow(win: string): void;
|
|
1531
|
+
/**
|
|
1532
|
+
* 8.15 将所有窗口从屏幕分享的排除列表中移除
|
|
1533
|
+
*
|
|
1534
|
+
* @note 该方法只有在 TRTCScreenCaptureSourceInfo 中的 type 指定为 TRTCScreenCaptureSourceTypeScreen 时生效,即分享屏幕时生效
|
|
1535
|
+
*/
|
|
1536
|
+
removeAllExcludedShareWindow(): void;
|
|
1537
|
+
/**
|
|
1538
|
+
* @private
|
|
1539
|
+
* 9.5 设置本地视频自定义渲染(Electron 平台下不可用)
|
|
1540
|
+
*
|
|
1541
|
+
* 注意:设置此方法,SDK 内部会把采集到的数据回调出来,SDK 跳过 HWND 渲染逻辑
|
|
1542
|
+
调用 setLocalVideoRenderCallback(TRTCVideoPixelFormat_Unknown, TRTCVideoBufferType_Unknown, nullptr) 停止回调
|
|
1543
|
+
* @param {TRTCVideoPixelFormat} pixelFormat 指定回调的像素格式
|
|
1544
|
+
* @param {TRTCVideoBufferType} bufferType 指定视频数据结构类型
|
|
1545
|
+
* @param {Fuction} callback 自定义渲染回调
|
|
1546
|
+
* @return {Number} 0:成功;<0:错误
|
|
1547
|
+
*/
|
|
1548
|
+
setLocalVideoRenderCallback(pixelFormat: TRTCVideoPixelFormat, bufferType: TRTCVideoBufferType, callback: () => void): 0 | -1;
|
|
1549
|
+
/**
|
|
1550
|
+
* @private
|
|
1551
|
+
* 9.6 设置远端视频自定义渲染(Electron 平台下不可用)
|
|
1552
|
+
*
|
|
1553
|
+
* 此方法同 setLocalVideoRenderDelegate,区别在于一个是本地画面的渲染回调, 一个是远程画面的渲染回调。
|
|
1554
|
+
*
|
|
1555
|
+
* 注意:设置此方法,SDK 内部会把远端的数据解码后回调出来,SDK 跳过 HWND 渲染逻辑
|
|
1556
|
+
调用 setRemoteVideoRenderCallback(userId, TRTCVideoPixelFormat_Unknown, TRTCVideoBufferType_Unknown, null) 停止回调。
|
|
1557
|
+
* @param {String} userId 用户标识
|
|
1558
|
+
* @param {TRTCVideoPixelFormat} pixelFormat 指定回调的像素格式
|
|
1559
|
+
* @param {TRTCVideoBufferType} bufferType 指定视频数据结构类型
|
|
1560
|
+
* @param {Function} callback 自定义渲染回调
|
|
1561
|
+
* @return {Number} 0:成功;<0:错误
|
|
1562
|
+
*/
|
|
1563
|
+
setRemoteVideoRenderCallback(userId: string, pixelFormat: TRTCVideoPixelFormat, bufferType: TRTCVideoBufferType, callback: () => void): 0 | -1;
|
|
1564
|
+
/**
|
|
1565
|
+
* 10.1 发送自定义消息给房间内所有用户
|
|
1566
|
+
*
|
|
1567
|
+
* 该接口可以借助音视频数据通道向当前房间里的其他用户广播您自定义的数据,但因为复用了音视频数据通道,
|
|
1568
|
+
* 请务必严格控制自定义消息的发送频率和消息体的大小,否则会影响音视频数据的质量控制逻辑,造成不确定性的问题。
|
|
1569
|
+
*
|
|
1570
|
+
* 注意:本接口有以下限制:
|
|
1571
|
+
* - 发送消息到房间内所有用户,每秒最多能发送30条消息。
|
|
1572
|
+
* - 每个包最大为1KB,超过则很有可能会被中间路由器或者服务器丢弃。
|
|
1573
|
+
* - 每个客户端每秒最多能发送总计8KB数据。
|
|
1574
|
+
* - 将 reliable 和 ordered 同时设置为 true 或 false,暂不支持交叉设置。
|
|
1575
|
+
* - 强烈建议不同类型的消息使用不同的 cmdID,这样可以在要求有序的情况下减小消息时延。
|
|
1576
|
+
*
|
|
1577
|
+
* @param {Number} cmdId - 消息 ID,取值范围为1 - 10
|
|
1578
|
+
* @param {String} msg - 待发送的消息,最大支持1KB(1000字节)的数据大小
|
|
1579
|
+
* @param {Boolean} reliable - 是否可靠发送,可靠发送的代价是会引入一定的延时,因为接收端要暂存一段时间的数据来等待重传
|
|
1580
|
+
* @param {Boolean} ordered - 是否要求有序,即是否要求接收端接收的数据顺序和发送端发送的顺序一致,这会带来一定的接收延时,因为在接收端需要暂存并排序这些消息
|
|
1581
|
+
* @return {Boolean} true:消息已经发出;false:消息发送失败
|
|
1582
|
+
*/
|
|
1583
|
+
sendCustomCmdMsg(cmdId: number, msg: string, reliable: boolean, ordered: boolean): any;
|
|
1584
|
+
/**
|
|
1585
|
+
* 10.2 将小数据量的自定义数据嵌入视频帧中
|
|
1586
|
+
*
|
|
1587
|
+
* 跟 sendCustomCmdMsg 的原理不同,sendSEIMsg 是将数据直接塞入视频数据头中。因此,即使视频帧被旁路到了直播 CDN 上,
|
|
1588
|
+
* 这些数据也会一直存在。但是由于要把数据嵌入视频帧中,所以数据本身不能太大,推荐几个字节就好。
|
|
1589
|
+
*
|
|
1590
|
+
* 最常见的用法是把自定义的时间戳(timstamp)用 sendSEIMsg 嵌入视频帧中,这种方案的最大好处就是可以实现消息和画面的完美对齐。
|
|
1591
|
+
*
|
|
1592
|
+
* 注意:本接口有以下限制:
|
|
1593
|
+
* - 数据在接口调用完后不会被即时发送出去,而是从下一帧视频帧开始带在视频帧中发送。
|
|
1594
|
+
* - 发送消息到房间内所有用户,每秒最多能发送30条消息(与 sendCustomCmdMsg 共享限制)。
|
|
1595
|
+
* - 每个包最大为1KB,若发送大量数据,会导致视频码率增大,可能导致视频画质下降甚至卡顿(与 sendCustomCmdMsg 共享限制)。
|
|
1596
|
+
* - 每个客户端每秒最多能发送总计8KB数据(与 sendCustomCmdMsg 共享限制)。
|
|
1597
|
+
* - 若指定多次发送(repeatCount>1),则数据会被带在后续的连续 repeatCount 个视频帧中发送出去,同样会导致视频码率增大。
|
|
1598
|
+
* - 如果 repeatCount>1,多次发送,接收消息 onRecvSEIMsg 回调也可能会收到多次相同的消息,需要去重。
|
|
1599
|
+
*
|
|
1600
|
+
* @param {String} msg - 待发送的数据,最大支持1kb(1000字节)的数据大小
|
|
1601
|
+
* @param {Number} repeatCount - 发送数据次数
|
|
1602
|
+
* @return {Boolean} true:消息已通过限制,等待后续视频帧发送;false:消息被限制发送
|
|
1603
|
+
*/
|
|
1604
|
+
sendSEIMsg(msg: string, repeatCount: number): boolean;
|
|
1605
|
+
/**
|
|
1606
|
+
* 11.1 废弃接口: 启动播放背景音乐
|
|
1607
|
+
*
|
|
1608
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 startPlayMusic 接口替代。
|
|
1609
|
+
*
|
|
1610
|
+
* @param {String} path - 音乐文件路径
|
|
1611
|
+
*/
|
|
1612
|
+
playBGM(path: string): void;
|
|
1613
|
+
/**
|
|
1614
|
+
* 11.2 废弃接口: 停止播放背景音乐
|
|
1615
|
+
*
|
|
1616
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 stopPlayMusic 接口替代。
|
|
1617
|
+
*
|
|
1618
|
+
*/
|
|
1619
|
+
stopBGM(): void;
|
|
1620
|
+
/**
|
|
1621
|
+
* 11.3 废弃接口: 暂停播放背景音乐
|
|
1622
|
+
*
|
|
1623
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 pausePlayMusic 接口替代。
|
|
1624
|
+
*
|
|
1625
|
+
*/
|
|
1626
|
+
pauseBGM(): void;
|
|
1627
|
+
/**
|
|
1628
|
+
* 11.4 废弃接口: 继续播放背景音乐
|
|
1629
|
+
*
|
|
1630
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 resumePlayMusic 接口替代。
|
|
1631
|
+
*
|
|
1632
|
+
*/
|
|
1633
|
+
resumeBGM(): void;
|
|
1634
|
+
/**
|
|
1635
|
+
* 11.5 废弃接口: 获取背景音乐文件总时长,单位毫秒
|
|
1636
|
+
*
|
|
1637
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 getMusicDurationInMS 接口替代。
|
|
1638
|
+
*
|
|
1639
|
+
* @param {String} path - 音乐文件路径
|
|
1640
|
+
* @return {Number} 成功返回时长,失败返回-1
|
|
1641
|
+
*/
|
|
1642
|
+
getBGMDuration(path: string): any;
|
|
1643
|
+
/**
|
|
1644
|
+
* 11.6 废弃接口: 设置背景音乐播放进度
|
|
1645
|
+
*
|
|
1646
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 seekMusicToPosInTime 接口替代。
|
|
1647
|
+
*
|
|
1648
|
+
* @param {Number} pos - 单位毫秒
|
|
1649
|
+
*/
|
|
1650
|
+
setBGMPosition(pos: number): void;
|
|
1651
|
+
/**
|
|
1652
|
+
* 11.7 废弃接口: 设置背景音乐的音量大小,播放背景音乐混音时使用,用来控制背景音音量大小
|
|
1653
|
+
*
|
|
1654
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setAllMusicVolume 接口替代。
|
|
1655
|
+
*
|
|
1656
|
+
* @param {Number} volume - 音量大小,100为正常音量,取值范围为0 - 200。
|
|
1657
|
+
*/
|
|
1658
|
+
setBGMVolume(volume: number): void;
|
|
1659
|
+
/**
|
|
1660
|
+
* 11.8 废弃接口: 设置背景音乐本地播放音量的大小
|
|
1661
|
+
*
|
|
1662
|
+
* 播放背景音乐混音时使用,用来控制背景音乐在本地播放时的音量大小。
|
|
1663
|
+
*
|
|
1664
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setMusicPlayoutVolume 接口替代。
|
|
1665
|
+
*
|
|
1666
|
+
* @param {Number} volume - 音量大小,100为正常音量,取值范围为0 - 100;默认值:100
|
|
1667
|
+
*/
|
|
1668
|
+
setBGMPlayoutVolume(volume: number): void;
|
|
1669
|
+
/**
|
|
1670
|
+
* 11.9 废弃接口: 设置背景音乐远端播放音量的大小
|
|
1671
|
+
*
|
|
1672
|
+
* 播放背景音乐混音时使用,用来控制背景音乐在远端播放时的音量大小。
|
|
1673
|
+
*
|
|
1674
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setMusicPublishVolume 接口替代。
|
|
1675
|
+
*
|
|
1676
|
+
* @param {Number} volume - 音量大小,100为正常音量,取值范围为0 - 100;默认值:100
|
|
1677
|
+
*/
|
|
1678
|
+
setBGMPublishVolume(volume: number): void;
|
|
1679
|
+
/**
|
|
1680
|
+
* 11.10 打开系统声音采集
|
|
1681
|
+
*
|
|
1682
|
+
* 开启后可以采集整个操作系统的播放声音(path 为空)或某一个播放器(path 不为空)的声音,
|
|
1683
|
+
* 并将其混入到当前麦克风采集的声音中一起发送到云端。
|
|
1684
|
+
*
|
|
1685
|
+
* @param {String} path - 不传 path 或为 null,代表采集整个操作系统的声音;path 填写 exe 程序(如 QQ音乐)所在的路径,将会启动此程序并只采集此程序的声音。
|
|
1686
|
+
*
|
|
1687
|
+
*/
|
|
1688
|
+
startSystemAudioLoopback(path?: string | null): void;
|
|
1689
|
+
/**
|
|
1690
|
+
* 11.11 关闭系统声音采集
|
|
1691
|
+
*/
|
|
1692
|
+
stopSystemAudioLoopback(): void;
|
|
1693
|
+
/**
|
|
1694
|
+
* 11.12 设置系统声音采集的音量
|
|
1695
|
+
*
|
|
1696
|
+
* @param {Number} volume - 音量大小,取值范围为0 - 100。
|
|
1697
|
+
*/
|
|
1698
|
+
setSystemAudioLoopbackVolume(volume: number): void;
|
|
1699
|
+
/**
|
|
1700
|
+
* 11.13 启动播放背景音乐
|
|
1701
|
+
*
|
|
1702
|
+
* @param {AudioMusicParam} musicParam - 背景音乐参数
|
|
1703
|
+
* @param {Object} callbackMap - 播放音乐事件回调(可选)
|
|
1704
|
+
* @param {Function} callbackMap.onStart - 开始播放背景音乐回调
|
|
1705
|
+
* @param {Function} callbackMap.onPlayProgress - 播放背景音乐的进度
|
|
1706
|
+
* @param {Function} callbackMap.onComplete - 播放背景音乐结束
|
|
1707
|
+
*
|
|
1708
|
+
* @example
|
|
1709
|
+
* // 音乐播放
|
|
1710
|
+
* import TRTCCloud, { AudioMusicParam } from 'trtc-electron-sdk';
|
|
1711
|
+
* const rtcCloud = new TRTCCloud();
|
|
1712
|
+
*
|
|
1713
|
+
* const params = new AudioMusicParam();
|
|
1714
|
+
* params.id = 1;
|
|
1715
|
+
* params.path = 'path';
|
|
1716
|
+
* params.publish = true;
|
|
1717
|
+
* rtcCloud.startPlayMusic(params, {
|
|
1718
|
+
* onStart: (id: number, errCode: number) => {
|
|
1719
|
+
* console.log(`onStart, id: ${id}, errorCode: ${errCode}`);
|
|
1720
|
+
* },
|
|
1721
|
+
* onPlayProgress: (id: number, curPtsMS: number, durationMS: number) => {
|
|
1722
|
+
* console.log(`onPlayProgress, id: ${id}, curPtsMS: ${curPtsMS}, durationMS: ${durationMS}`);
|
|
1723
|
+
* },
|
|
1724
|
+
* onComplete: (id: number, errCode: number) => {
|
|
1725
|
+
* console.log(`onComplete, id: ${id}, errCode: ${errCode}`);
|
|
1726
|
+
* }
|
|
1727
|
+
* )
|
|
1728
|
+
*/
|
|
1729
|
+
startPlayMusic(musicParam: AudioMusicParam, callbackMap?: {
|
|
1730
|
+
onStart?: (id: number, errCode: number) => void;
|
|
1731
|
+
onPlayProgress?: (id: number, curPtsMS: number, durationMS: number) => void;
|
|
1732
|
+
onComplete?: (id: number, errCode: number) => void;
|
|
1733
|
+
}): void;
|
|
1734
|
+
/**
|
|
1735
|
+
* 11.14 停止播放背景音乐
|
|
1736
|
+
*
|
|
1737
|
+
* @param {Number} id 音乐 ID
|
|
1738
|
+
*/
|
|
1739
|
+
stopPlayMusic(id: number): void;
|
|
1740
|
+
/**
|
|
1741
|
+
* 11.15 暂停播放背景音乐
|
|
1742
|
+
*
|
|
1743
|
+
* @param {Number} id 音乐 ID
|
|
1744
|
+
*/
|
|
1745
|
+
pausePlayMusic(id: number): void;
|
|
1746
|
+
/**
|
|
1747
|
+
* 11.16 恢复播放背景音乐
|
|
1748
|
+
*
|
|
1749
|
+
* @param {Number} id 音乐 ID
|
|
1750
|
+
*/
|
|
1751
|
+
resumePlayMusic(id: number): void;
|
|
1752
|
+
/**
|
|
1753
|
+
* 11.17 获取背景音乐文件总时长,单位毫秒
|
|
1754
|
+
*
|
|
1755
|
+
* @param {String} path - 音乐文件路径
|
|
1756
|
+
* @return {Number} 成功返回时长,失败返回-1
|
|
1757
|
+
*/
|
|
1758
|
+
getMusicDurationInMS(path: string): any;
|
|
1759
|
+
/**
|
|
1760
|
+
* 11.18 设置背景音乐播放进度
|
|
1761
|
+
*
|
|
1762
|
+
* @param {Number} id - 音乐 ID
|
|
1763
|
+
* @param {Number} pts - 单位: 毫秒
|
|
1764
|
+
*/
|
|
1765
|
+
seekMusicToPosInTime(id: number, pts: number): any;
|
|
1766
|
+
/**
|
|
1767
|
+
* 11.19 设置背景音乐的音量大小,播放背景音乐混音时使用,用来控制背景音音量大小
|
|
1768
|
+
*
|
|
1769
|
+
* @param {Number} volume - 音量大小,100为正常音量,取值范围为0 - 200。
|
|
1770
|
+
*/
|
|
1771
|
+
setAllMusicVolume(volume: number): any;
|
|
1772
|
+
/**
|
|
1773
|
+
* 11.20 设置背景音乐本地播放音量的大小
|
|
1774
|
+
*
|
|
1775
|
+
* 播放背景音乐混音时使用,用来控制背景音乐在本地播放时的音量大小。
|
|
1776
|
+
*
|
|
1777
|
+
* @param {Number} id - 音乐 ID
|
|
1778
|
+
* @param {Number} volume - 音量大小,100为正常音量,取值范围为0 - 100;默认值:100
|
|
1779
|
+
*/
|
|
1780
|
+
setMusicPlayoutVolume(id: number, volume: number): void;
|
|
1781
|
+
/**
|
|
1782
|
+
* 11.21 设置背景音乐远端播放音量的大小
|
|
1783
|
+
*
|
|
1784
|
+
* 播放背景音乐混音时使用,用来控制背景音乐在远端播放时的音量大小。
|
|
1785
|
+
*
|
|
1786
|
+
* @param {Number} id - 音乐 ID
|
|
1787
|
+
* @param {Number} volume - 音量大小,100为正常音量,取值范围为0 - 100;默认值:100
|
|
1788
|
+
*/
|
|
1789
|
+
setMusicPublishVolume(id: number, volume: number): void;
|
|
1790
|
+
/**
|
|
1791
|
+
* 11.22 调整背景音乐的变速效果
|
|
1792
|
+
*
|
|
1793
|
+
* @param {Number} id - 音乐 ID
|
|
1794
|
+
* @param {Number} speedRate - 速度,默认值是1.0f,范围是:[0.5 ~ 2] 之间的浮点数;
|
|
1795
|
+
*/
|
|
1796
|
+
setMusicSpeedRate(id: number, speedRate: number): void;
|
|
1797
|
+
/**
|
|
1798
|
+
* 12.1 废弃接口: 播放音效
|
|
1799
|
+
*
|
|
1800
|
+
* 每个音效都需要您指定具体的 ID,您可以通过该 ID 对音效的开始、停止、音量等进行设置。
|
|
1801
|
+
* 若您想同时播放多个音效,请分配不同的 ID 进行播放。因为使用同一个 ID 播放不同音效,SDK 将会停止上一个 ID 对应的音效播放,再启动新的音效播放。
|
|
1802
|
+
*
|
|
1803
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 startPlayMusic 接口替代。
|
|
1804
|
+
*
|
|
1805
|
+
* @param {TRTCAudioEffectParam} effect - 音效
|
|
1806
|
+
* @throws {String}
|
|
1807
|
+
*/
|
|
1808
|
+
playAudioEffect(effect: TRTCAudioEffectParam): void;
|
|
1809
|
+
/**
|
|
1810
|
+
* 12.2 废弃接口: 设置音效音量
|
|
1811
|
+
*
|
|
1812
|
+
* 注意:会覆盖通过 setAllAudioEffectsVolume 指定的整体音效音量。
|
|
1813
|
+
*
|
|
1814
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setMusicPublishVolume, setMusicPlayoutVolume 接口替代。
|
|
1815
|
+
*
|
|
1816
|
+
* @param {Number} effectId - 音效 ID
|
|
1817
|
+
* @param {Number} volume - 音量大小,取值范围为0 - 100;默认值:100
|
|
1818
|
+
*/
|
|
1819
|
+
setAudioEffectVolume(effectId: number, volume: number): void;
|
|
1820
|
+
/**
|
|
1821
|
+
* 12.3 废弃接口: 停止音效
|
|
1822
|
+
*
|
|
1823
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 stopPlayMusic 接口替代。
|
|
1824
|
+
*
|
|
1825
|
+
* @param {Number} effectId - 音效 ID
|
|
1826
|
+
*/
|
|
1827
|
+
stopAudioEffect(effectId: number): void;
|
|
1828
|
+
/**
|
|
1829
|
+
* 12.4 废弃接口: 停止所有音效
|
|
1830
|
+
*
|
|
1831
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃
|
|
1832
|
+
*
|
|
1833
|
+
*/
|
|
1834
|
+
stopAllAudioEffects(): void;
|
|
1835
|
+
/**
|
|
1836
|
+
* 12.5 废弃接口: 设置所有音效的音量
|
|
1837
|
+
*
|
|
1838
|
+
* 注意:该操作会覆盖通过 setAudioEffectVolume 指定的单独音效音量。
|
|
1839
|
+
*
|
|
1840
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 setAllMusicVolume 接口替代。
|
|
1841
|
+
*
|
|
1842
|
+
* @param {Number} volume - 音量大小,取值范围为0 - 100;默认值:100
|
|
1843
|
+
*/
|
|
1844
|
+
setAllAudioEffectsVolume(volume: number): void;
|
|
1845
|
+
/**
|
|
1846
|
+
* 12.6 废弃接口: 暂停音效
|
|
1847
|
+
*
|
|
1848
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 pausePlayMusic 接口替代。
|
|
1849
|
+
*
|
|
1850
|
+
* @param {Number} effectId - 音效 ID
|
|
1851
|
+
*/
|
|
1852
|
+
pauseAudioEffect(effectId: number): void;
|
|
1853
|
+
/**
|
|
1854
|
+
* 12.7 废弃接口: 恢复音效
|
|
1855
|
+
*
|
|
1856
|
+
* @deprecated 从 TRTCSDK 8.0 后该接口已被废弃,请使用 resumePlayMusic 接口替代。
|
|
1857
|
+
*
|
|
1858
|
+
* @param {Number} effectId - 音效 ID
|
|
1859
|
+
*/
|
|
1860
|
+
resumeAudioEffect(effectId: number): void;
|
|
1861
|
+
/**
|
|
1862
|
+
* 13.1 开始进行网络测速(视频通话期间请勿测试,以免影响通话质量)
|
|
1863
|
+
*
|
|
1864
|
+
* 测速结果将会用于优化 SDK 接下来的服务器选择策略,因此推荐您在用户首次通话前先进行一次测速,这将有助于我们选择最佳的服务器。
|
|
1865
|
+
* 同时,如果测试结果非常不理想,您可以通过醒目的 UI 提示用户选择更好的网络。
|
|
1866
|
+
*
|
|
1867
|
+
* 注意:测速本身会消耗一定的流量,所以也会产生少量额外的流量费用。
|
|
1868
|
+
*
|
|
1869
|
+
* @param {Number} sdkAppId - 应用标识
|
|
1870
|
+
* @param {String} userId - 用户标识
|
|
1871
|
+
* @param {String} userSig - 用户签名
|
|
1872
|
+
*/
|
|
1873
|
+
startSpeedTest(sdkAppId: number, userId: string, userSig: string): void;
|
|
1874
|
+
/**
|
|
1875
|
+
* 13.2 停止网络测速
|
|
1876
|
+
*/
|
|
1877
|
+
stopSpeedTest(): void;
|
|
1878
|
+
/**
|
|
1879
|
+
* 13.3 开始进行摄像头测试
|
|
1880
|
+
*
|
|
1881
|
+
* 会触发 onFirstVideoFrame 回调接口
|
|
1882
|
+
*
|
|
1883
|
+
* 注意:在测试过程中可以使用 setCurrentCameraDevice 接口切换摄像头。
|
|
1884
|
+
*
|
|
1885
|
+
* @param {HTMLElement} view - 承载预览画面的 DOM
|
|
1886
|
+
*/
|
|
1887
|
+
startCameraDeviceTest(view: HTMLElement): void;
|
|
1888
|
+
/**
|
|
1889
|
+
* 13.4 停止摄像头测试
|
|
1890
|
+
*/
|
|
1891
|
+
stopCameraDeviceTest(): void;
|
|
1892
|
+
/**
|
|
1893
|
+
* 13.5 开始进行麦克风测试
|
|
1894
|
+
*
|
|
1895
|
+
* 回调接口 onTestMicVolume 获取测试数据
|
|
1896
|
+
*
|
|
1897
|
+
* 该方法测试麦克风是否能正常工作,volume 的取值范围为0 - 100。
|
|
1898
|
+
*
|
|
1899
|
+
* @param {Number} interval - 反馈音量提示的时间间隔(ms),建议设置到大于 200 毫秒
|
|
1900
|
+
*/
|
|
1901
|
+
startMicDeviceTest(interval: number): void;
|
|
1902
|
+
/**
|
|
1903
|
+
* 13.6 停止麦克风测试
|
|
1904
|
+
*/
|
|
1905
|
+
stopMicDeviceTest(): void;
|
|
1906
|
+
/**
|
|
1907
|
+
* 13.7 开始进行扬声器测试
|
|
1908
|
+
*
|
|
1909
|
+
* 回调接口 onTestSpeakerVolume 获取测试数据
|
|
1910
|
+
*
|
|
1911
|
+
* 该方法播放指定的音频文件测试播放设备是否能正常工作。如果能听到声音,说明播放设备能正常工作。
|
|
1912
|
+
*
|
|
1913
|
+
* @param {String} testAudioFilePath - 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持文件格式:WAV、MP3
|
|
1914
|
+
*/
|
|
1915
|
+
startSpeakerDeviceTest(testAudioFilePath: string): void;
|
|
1916
|
+
/**
|
|
1917
|
+
* 13.8 停止扬声器测试
|
|
1918
|
+
*/
|
|
1919
|
+
stopSpeakerDeviceTest(): void;
|
|
1920
|
+
/**
|
|
1921
|
+
* 14.1 获取 SDK 版本信息
|
|
1922
|
+
*
|
|
1923
|
+
* @return {String} UTF-8 编码的版本号。
|
|
1924
|
+
*/
|
|
1925
|
+
getSDKVersion(): any;
|
|
1926
|
+
/**
|
|
1927
|
+
* 14.2 设置 Log 输出级别
|
|
1928
|
+
*
|
|
1929
|
+
* @param {TRTCLogLevel} level - Log 输出等级,默认值:TRTCLogLevelNone
|
|
1930
|
+
* - TRTCLogLevelNone : 不输出任何 SDK Log
|
|
1931
|
+
* - TRTCLogLevelVerbose: 输出所有级别的 Log
|
|
1932
|
+
* - TRTCLogLevelDebug : 输出 DEBUG,INFO,WARNING,ERROR 和 FATAL 级别的 Log
|
|
1933
|
+
* - TRTCLogLevelInfo : 输出 INFO,WARNNING,ERROR 和 FATAL 级别的 Log
|
|
1934
|
+
* - TRTCLogLevelWarn : 只输出WARNNING,ERROR 和 FATAL 级别的 Log
|
|
1935
|
+
* - TRTCLogLevelError : 只输出ERROR 和 FATAL 级别的 Log
|
|
1936
|
+
* - TRTCLogLevelFatal : 只输出 FATAL 级别的 Log
|
|
1937
|
+
*/
|
|
1938
|
+
setLogLevel(level: TRTCLogLevel): void;
|
|
1939
|
+
/**
|
|
1940
|
+
* 14.3 启用或禁用控制台日志打印
|
|
1941
|
+
*
|
|
1942
|
+
* @param {Boolean} enabled - 指定是否启用,默认为禁止状态
|
|
1943
|
+
*/
|
|
1944
|
+
setConsoleEnabled(enabled: boolean): void;
|
|
1945
|
+
/**
|
|
1946
|
+
* 14.4 启用或禁用 Log 的本地压缩
|
|
1947
|
+
*
|
|
1948
|
+
* 开启压缩后,Log 存储体积明显减小,但需要腾讯云提供的 Python 脚本解压后才能阅读。
|
|
1949
|
+
* 禁用压缩后,Log 采用明文存储,可以直接用记事本打开阅读,但占用空间较大。
|
|
1950
|
+
*
|
|
1951
|
+
* @param {Boolean} enabled - 指定是否启用,默认为禁止状态
|
|
1952
|
+
*/
|
|
1953
|
+
setLogCompressEnabled(enabled: boolean): void;
|
|
1954
|
+
/**
|
|
1955
|
+
* 14.5 设置日志保存路径
|
|
1956
|
+
*
|
|
1957
|
+
* 注意:
|
|
1958
|
+
* - windows 日志文件默认保存在 C:/Users/[系统用户名]/AppData/Roaming/Tencent/liteav/log,即 %appdata%/Tencent/liteav/log 下,如需修改,必须在所有方法前调用。
|
|
1959
|
+
* - mac 日志文件默认保存在 sandbox Documents/log 下,如需修改,必须在所有方法前调用。
|
|
1960
|
+
*
|
|
1961
|
+
* @param {String} path - 存储日志的文件夹,例如 "D:\\Log",UTF-8 编码
|
|
1962
|
+
*/
|
|
1963
|
+
setLogDirPath(path: string): void;
|
|
1964
|
+
/**
|
|
1965
|
+
* 14.6 设置日志回调
|
|
1966
|
+
* @param {Function} callback - 日志回调
|
|
1967
|
+
*/
|
|
1968
|
+
setLogCallback(callback?: () => void): void;
|
|
1969
|
+
/**
|
|
1970
|
+
* 14.7 调用实验性 API 接口
|
|
1971
|
+
*
|
|
1972
|
+
* 注意:该接口用于调用一些实验性功能
|
|
1973
|
+
*
|
|
1974
|
+
* @param {String} jsonStr - 接口及参数描述的 JSON 字符串
|
|
1975
|
+
*/
|
|
1976
|
+
callExperimentalAPI(jsonStr: string): void;
|
|
1977
|
+
/**
|
|
1978
|
+
* 从 TRTCSDK6.9 后该接口已被废弃
|
|
1979
|
+
*
|
|
1980
|
+
* @deprecated 从 TRTCSDK6.9 后该接口已被废弃,请使用 setAudioCaptureVolume 接口替代。
|
|
1981
|
+
* @param {Number} volume - 音量大小,100为正常音量,取值范围为0 - 200。
|
|
1982
|
+
*/
|
|
1983
|
+
setMicVolumeOnMixing(volume: number): void;
|
|
1984
|
+
addLocalVideoRenderCallback(): void;
|
|
1985
|
+
addRemoteVideoRenderCallback(userId: string): void;
|
|
1986
|
+
/**
|
|
1987
|
+
* 选择绘制的模式 (webgl/yuvcanvs/)
|
|
1988
|
+
* @param {Number} mode -
|
|
1989
|
+
* - 1 YUV WebGL
|
|
1990
|
+
* - 2 YUV Canvas 2D
|
|
1991
|
+
* - 3 RGBA Canvas 2D
|
|
1992
|
+
* - 4 RGBA WebGL
|
|
1993
|
+
*/
|
|
1994
|
+
setRenderMode(mode?: number): void;
|
|
1995
|
+
initPluginManager(): void;
|
|
1996
|
+
destroyPluginManager(): void;
|
|
1997
|
+
addPlugin(plugin: {
|
|
1998
|
+
id: string;
|
|
1999
|
+
path: string;
|
|
2000
|
+
type?: number;
|
|
2001
|
+
}): void;
|
|
2002
|
+
removePlugin(id: string): void;
|
|
2003
|
+
getPluginList(): PluginInfo[];
|
|
2004
|
+
createPlugin(pluginId: string): PluginInfo;
|
|
2005
|
+
setPluginCallback(pluginCb: (pluginId: string, errorCode: number, msg: string) => void): void;
|
|
2006
|
+
getKey(uid: string, type: TRTCVideoStreamType): string;
|
|
2007
|
+
setEnableRenderFrame(enable: boolean): void;
|
|
2008
|
+
/**
|
|
2009
|
+
* 判断是否支持webGL
|
|
2010
|
+
* @returns {boolean}
|
|
2011
|
+
* @private
|
|
2012
|
+
*/
|
|
2013
|
+
_isSupportWebGL(): boolean;
|
|
2014
|
+
_getRenderer(uid: string, type: TRTCVideoStreamType): any;
|
|
2015
|
+
_onRenderFrame(uid: string, type: TRTCVideoStreamType, width: number, height: number, timestamp: number, rotation: number, data: any): void;
|
|
2016
|
+
_onRealRender(uid: string, type: TRTCVideoStreamType, width: number, height: number, timestamp: number, rotation: number, data: any): void;
|
|
2017
|
+
_initRender(key: string, view: HTMLElement): void;
|
|
2018
|
+
_destroyRender(key: string, onFailure: ((err: Error) => void) | null): void;
|
|
2019
|
+
/**
|
|
2020
|
+
* 写文件
|
|
2021
|
+
* path, path
|
|
2022
|
+
* data, Uint8Array
|
|
2023
|
+
* let testdata = new Uint8Array(data, 0, data.byteLength);
|
|
2024
|
+
* this._writefile('./testyuv', testdata);
|
|
2025
|
+
* @private
|
|
2026
|
+
* @throws {Error}
|
|
2027
|
+
*/
|
|
2028
|
+
_writefile(path: string, data: any): void;
|
|
2029
|
+
_writeLog(info: string): void;
|
|
2030
|
+
_onUserRenderCallback(callback: (userid: string, streamType: TRTCVideoStreamType, videoframe: TRTCVideoFrame) => void, format: TRTCVideoPixelFormat, userid: string, streamType: TRTCVideoStreamType, width: number, height: number, timestamp: number, rotation: number, data: any): void;
|
|
2031
|
+
_initImageData(width: number, height: number): void;
|
|
2032
|
+
_YUV2RGBA(width: number, height: number, buffer: ArrayBufferLike): Uint8ClampedArray;
|
|
2033
|
+
_BGRA2RGBA(data: ArrayBuffer, width: number, height: number): Uint8ClampedArray;
|
|
2034
|
+
_isMacPlatform(): boolean;
|
|
2035
|
+
}
|
|
2036
|
+
export default TRTCCloud;
|