@tencentcloud/tuiroom-engine-electron 2.4.0-alpha.1 → 2.4.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +1 -1
- package/index.d.ts +1113 -4
- package/index.esm.js +1 -1
- package/index.js +1 -1
- package/package.json +2 -2
- package/plugins/audio-effect-manager/index.cjs.js +0 -503
- package/plugins/audio-effect-manager/index.d.ts +0 -75
- package/plugins/audio-effect-manager/index.js +0 -495
- package/plugins/audio-effect-manager/index.umd.js +0 -507
- package/plugins/audio-effect-manager/package.json +0 -15
- package/plugins/device-manager-plugin/index.cjs.js +0 -568
- package/plugins/device-manager-plugin/index.d.ts +0 -69
- package/plugins/device-manager-plugin/index.js +0 -559
- package/plugins/device-manager-plugin/index.umd.js +0 -572
- package/plugins/device-manager-plugin/package.json +0 -14
- package/plugins/media-mixing-plugin/index.cjs.js +0 -128
- package/plugins/media-mixing-plugin/index.d.ts +0 -87
- package/plugins/media-mixing-plugin/index.js +0 -119
- package/plugins/media-mixing-plugin/index.umd.js +0 -132
- package/plugins/media-mixing-plugin/package.json +0 -14
- package/plugins/video-effect-plugin/index.cjs.js +0 -68
- package/plugins/video-effect-plugin/index.d.ts +0 -28
- package/plugins/video-effect-plugin/index.js +0 -59
- package/plugins/video-effect-plugin/index.umd.js +0 -71
- package/plugins/video-effect-plugin/package.json +0 -15
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChatSDK } from '@tencentcloud/chat';
|
|
2
2
|
export { default as TIM, default as TencentCloudChat } from '@tencentcloud/chat';
|
|
3
|
-
import TRTCCloud, {
|
|
3
|
+
import TRTCCloud, { TRTCDeviceInfo, TRTCLocalMediaTranscodingSource, TRTCVideoEncParam, TRTCPlugin, TRTCScreenCaptureSourceInfo } from 'trtc-electron-sdk';
|
|
4
4
|
export { Rect, default as TRTCCloud, TRTCDeviceInfo, TRTCDeviceState, TRTCDeviceType, TRTCScreenCaptureProperty, TRTCScreenCaptureSourceInfo, TRTCScreenCaptureSourceType, TRTCVideoEncParam, TRTCVideoFillMode, TRTCVideoMirrorType, TRTCVideoResolution, TRTCVideoResolutionMode, TRTCVideoRotation, TRTCVideoStreamType, TRTCVolumeInfo } from 'trtc-electron-sdk';
|
|
5
5
|
|
|
6
6
|
declare enum TUIErrorCode {
|
|
@@ -269,7 +269,8 @@ declare enum TUIMediaDeviceType {
|
|
|
269
269
|
declare enum TUIMediaDeviceState {
|
|
270
270
|
kMediaDeviceStateAdd = 0,
|
|
271
271
|
kMediaDeviceStateRemove = 1,
|
|
272
|
-
kMediaDeviceStateActive = 2
|
|
272
|
+
kMediaDeviceStateActive = 2,
|
|
273
|
+
kMediaDefaultDeviceChanged = 3
|
|
273
274
|
}
|
|
274
275
|
declare enum TUIAudioRoute {
|
|
275
276
|
kAudioRouteSpeakerphone = 0,
|
|
@@ -283,6 +284,10 @@ type TUIDeviceInfo = {
|
|
|
283
284
|
width: number;
|
|
284
285
|
height: number;
|
|
285
286
|
}[];
|
|
287
|
+
SupportedResolution?: {
|
|
288
|
+
width: number;
|
|
289
|
+
height: number;
|
|
290
|
+
}[];
|
|
286
291
|
};
|
|
287
292
|
};
|
|
288
293
|
/**
|
|
@@ -775,7 +780,46 @@ declare enum TUIRoomDeviceMangerEvents {
|
|
|
775
780
|
* });
|
|
776
781
|
*/
|
|
777
782
|
onTestSpeakerVolume = "onTestSpeakerVolume"
|
|
778
|
-
}
|
|
783
|
+
}
|
|
784
|
+
/**
|
|
785
|
+
* 摄像头采集模式
|
|
786
|
+
*/
|
|
787
|
+
declare enum TUICameraCaptureMode {
|
|
788
|
+
/** 自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 */
|
|
789
|
+
kCameraResolutionStrategyAuto = 0,
|
|
790
|
+
/** 优先保证设备性能。SDK 根据用户设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。 */
|
|
791
|
+
kCameraResolutionStrategyPerformance = 1,
|
|
792
|
+
/** 优先保证视频预览质量。SDK选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。 */
|
|
793
|
+
kCameraResolutionStrategyHighQuality = 2,
|
|
794
|
+
/** 允许用户设置本地摄像头采集的视频宽高。 */
|
|
795
|
+
kCameraCaptureManual = 3
|
|
796
|
+
}
|
|
797
|
+
/**
|
|
798
|
+
* 矩形区域
|
|
799
|
+
*
|
|
800
|
+
* 矩形坐标区域
|
|
801
|
+
*/
|
|
802
|
+
type TUIRect = {
|
|
803
|
+
/** 左边线坐标 */
|
|
804
|
+
left: number;
|
|
805
|
+
/** 顶边线坐标 */
|
|
806
|
+
top: number;
|
|
807
|
+
/** 右边线坐标 */
|
|
808
|
+
right: number;
|
|
809
|
+
/** 底边线坐标 */
|
|
810
|
+
bottom: number;
|
|
811
|
+
};
|
|
812
|
+
/**
|
|
813
|
+
* 摄像头采集参数
|
|
814
|
+
*/
|
|
815
|
+
type TUICameraCaptureParam = {
|
|
816
|
+
/** 摄像头采集模式 */
|
|
817
|
+
mode: TUICameraCaptureMode;
|
|
818
|
+
/** 采集图像宽度 */
|
|
819
|
+
width: number;
|
|
820
|
+
/** 采集图像高度 */
|
|
821
|
+
height: number;
|
|
822
|
+
};
|
|
779
823
|
|
|
780
824
|
declare class Logger {
|
|
781
825
|
private logger;
|
|
@@ -955,6 +999,1067 @@ declare class TUIRoomDeviceManager {
|
|
|
955
999
|
off(event: string, func: (...args: any[]) => void): void;
|
|
956
1000
|
}
|
|
957
1001
|
|
|
1002
|
+
/**
|
|
1003
|
+
* 音视频设备事件类型
|
|
1004
|
+
*/
|
|
1005
|
+
declare enum TUIMediaDeviceEventType {
|
|
1006
|
+
/** 设备状态变更 */
|
|
1007
|
+
onDeviceChanged = "onDeviceChanged"
|
|
1008
|
+
}
|
|
1009
|
+
/**
|
|
1010
|
+
* 音视频设备管理插件
|
|
1011
|
+
*
|
|
1012
|
+
* @example
|
|
1013
|
+
* import TUIRoomEngine from '@tencentcloud/tuiroom-engine-electron';
|
|
1014
|
+
*
|
|
1015
|
+
* const deviceManager = TUIRoomEngine.getDeviceManager();
|
|
1016
|
+
*/
|
|
1017
|
+
declare class TUIDeviceManager {
|
|
1018
|
+
private static sharedInstance;
|
|
1019
|
+
private static logPrefix;
|
|
1020
|
+
private eventEmitter;
|
|
1021
|
+
private trtcDeviceManager;
|
|
1022
|
+
constructor();
|
|
1023
|
+
static getInstance(): TUIDeviceManager;
|
|
1024
|
+
/**
|
|
1025
|
+
* 获取摄像头设备列表
|
|
1026
|
+
*
|
|
1027
|
+
* @returns {Array<TUIDeviceInfo>}
|
|
1028
|
+
*/
|
|
1029
|
+
getCameraDevicesList(): Array<TUIDeviceInfo>;
|
|
1030
|
+
/**
|
|
1031
|
+
* 获取麦克风设备列表
|
|
1032
|
+
*
|
|
1033
|
+
* @returns {Array<TUIDeviceInfo>}
|
|
1034
|
+
*/
|
|
1035
|
+
getMicDevicesList(): Array<TUIDeviceInfo>;
|
|
1036
|
+
/**
|
|
1037
|
+
* 获取扬声器设备列表
|
|
1038
|
+
*
|
|
1039
|
+
* @returns {Array<TUIDeviceInfo>}
|
|
1040
|
+
*/
|
|
1041
|
+
getSpeakerDevicesList(): Array<TUIDeviceInfo>;
|
|
1042
|
+
/**
|
|
1043
|
+
* 设置当前设备
|
|
1044
|
+
*
|
|
1045
|
+
* @param type {TUIMediaDeviceType} - 设备类型
|
|
1046
|
+
* @param deviceId {string} - 设备 ID
|
|
1047
|
+
* @returns {Promise<void>}
|
|
1048
|
+
*/
|
|
1049
|
+
setCurrentDevice(type: TUIMediaDeviceType, deviceId: string): Promise<number>;
|
|
1050
|
+
/**
|
|
1051
|
+
* 获取当前设备
|
|
1052
|
+
*
|
|
1053
|
+
* @param type {TUIMediaDeviceType} - 设备类型
|
|
1054
|
+
* @returns {Promise<TUIDeviceInfo>}
|
|
1055
|
+
*/
|
|
1056
|
+
getCurrentDevice(type: TUIMediaDeviceType): Promise<TRTCDeviceInfo>;
|
|
1057
|
+
/**
|
|
1058
|
+
* 设置当前设备音量
|
|
1059
|
+
*
|
|
1060
|
+
* @param type {TUIMediaDeviceType} - 设备类型
|
|
1061
|
+
* @param volume {number} - 音量,取值范围 [0, 100]。
|
|
1062
|
+
* @returns {Promise<void>}
|
|
1063
|
+
*/
|
|
1064
|
+
setCurrentDeviceVolume(type: TUIMediaDeviceType, volume: number): Promise<number>;
|
|
1065
|
+
/**
|
|
1066
|
+
* 获取当前设备音量
|
|
1067
|
+
*
|
|
1068
|
+
* @param type {TUIMediaDeviceType} - 设备类型
|
|
1069
|
+
* @returns {Promise<number>}
|
|
1070
|
+
*/
|
|
1071
|
+
getCurrentDeviceVolume(type: TUIMediaDeviceType): Promise<number>;
|
|
1072
|
+
/**
|
|
1073
|
+
* 静音当前设备
|
|
1074
|
+
*
|
|
1075
|
+
* 注意:只支持麦克风和扬声器,不支持摄像头。
|
|
1076
|
+
*
|
|
1077
|
+
* @param type {TUIMediaDeviceType} - 设备类型
|
|
1078
|
+
* @param mute {boolean} - 是否静音
|
|
1079
|
+
* @returns {Promise<void>}
|
|
1080
|
+
*/
|
|
1081
|
+
setCurrentDeviceMute(type: TUIMediaDeviceType, mute: boolean): Promise<number>;
|
|
1082
|
+
/**
|
|
1083
|
+
* 获取当前设备静音状态
|
|
1084
|
+
*
|
|
1085
|
+
* 注意:只支持麦克风和扬声器,不支持摄像头。
|
|
1086
|
+
*
|
|
1087
|
+
* @param type {TUIMediaDeviceType} - 设备类型
|
|
1088
|
+
* @returns {Promise<boolean>}
|
|
1089
|
+
*/
|
|
1090
|
+
getCurrentDeviceMute(type: TUIMediaDeviceType): Promise<boolean>;
|
|
1091
|
+
/**
|
|
1092
|
+
* 设置使用的音频设备根据跟随系统默认设备
|
|
1093
|
+
*
|
|
1094
|
+
* 注意:仅支持设置麦克风和扬声器类型,摄像头暂不支持跟随系统默认设备。
|
|
1095
|
+
* @param type {TUIMediaDeviceType} - 设备类型
|
|
1096
|
+
* @param enable {boolean} - 是否跟随系统默认的音频设备
|
|
1097
|
+
* @returns {Promise<void>}
|
|
1098
|
+
*/
|
|
1099
|
+
enableFollowingDefaultAudioDevice(type: TUIMediaDeviceType, enable: boolean): Promise<number>;
|
|
1100
|
+
/**
|
|
1101
|
+
* 开启摄像头测试
|
|
1102
|
+
*
|
|
1103
|
+
* @param windowID {Uint8Array} - 预览摄像头画面的窗口 ID,通过 Electron API BrowserWindow.getNativeWindowHandle() 拿到。
|
|
1104
|
+
* @param rect {TUIRect} - 摄像头画面显示在窗口内的位置区域
|
|
1105
|
+
* @returns {Promise<void>}
|
|
1106
|
+
*/
|
|
1107
|
+
startCameraDeviceTest(windowID: Uint8Array, rect: TUIRect): Promise<number>;
|
|
1108
|
+
/**
|
|
1109
|
+
* 停止摄像头测试
|
|
1110
|
+
*
|
|
1111
|
+
* @returns {Promise<void>}
|
|
1112
|
+
*/
|
|
1113
|
+
stopCameraDeviceTest(): Promise<number>;
|
|
1114
|
+
/**
|
|
1115
|
+
* 开启麦克风测试
|
|
1116
|
+
*
|
|
1117
|
+
* @param interval {number} - 麦克风音量的回调间隔,单位:毫秒。
|
|
1118
|
+
* @param playback {boolean} - 是否开启麦克风声音回播,开启后用户测试麦克风时会听到自己的声音,如果不传递playback参数,则默认为false。
|
|
1119
|
+
* @returns {Promise<void>}
|
|
1120
|
+
*/
|
|
1121
|
+
startMicDeviceTest(interval: number, playback?: boolean): Promise<number>;
|
|
1122
|
+
/**
|
|
1123
|
+
* 摄像头测试时,开启镜像
|
|
1124
|
+
*
|
|
1125
|
+
* @param mirror {boolean} - 是否开启镜像
|
|
1126
|
+
* @returns {void}
|
|
1127
|
+
*/
|
|
1128
|
+
setCameraTestRenderMirror(mirror: boolean): void;
|
|
1129
|
+
/**
|
|
1130
|
+
* 摄像头测试时,设置待测试设备 ID
|
|
1131
|
+
* @param cameraId {string} - 摄像头设备 ID
|
|
1132
|
+
* @returns {void}
|
|
1133
|
+
*/
|
|
1134
|
+
setCameraTestDeviceId(cameraId: string): void;
|
|
1135
|
+
/**
|
|
1136
|
+
* 摄像头测试时,设置待测试摄像头采集分辨率
|
|
1137
|
+
*
|
|
1138
|
+
* @param width {number} - 采集宽度
|
|
1139
|
+
* @param height {number} - 采集高度
|
|
1140
|
+
* @returns {void}
|
|
1141
|
+
*/
|
|
1142
|
+
setCameraTestResolution(width: number, height: number): void;
|
|
1143
|
+
/**
|
|
1144
|
+
* 摄像头测试时,设置视频预处理插件库文件路径
|
|
1145
|
+
*
|
|
1146
|
+
* @param path {string} - 视频预处理插件库文件路径
|
|
1147
|
+
* @returns {void}
|
|
1148
|
+
*/
|
|
1149
|
+
setCameraTestVideoPluginPath(path: string): void;
|
|
1150
|
+
/**
|
|
1151
|
+
* 摄像头测试时,设置视频预处理参数
|
|
1152
|
+
*
|
|
1153
|
+
* @param params {string} - JSON 字符串
|
|
1154
|
+
* @returns {void}
|
|
1155
|
+
*/
|
|
1156
|
+
setCameraTestVideoPluginParameter(params: string): void;
|
|
1157
|
+
/**
|
|
1158
|
+
* 停止麦克风测试
|
|
1159
|
+
* @returns {Promise<void>}
|
|
1160
|
+
*/
|
|
1161
|
+
stopMicDeviceTest(): Promise<number>;
|
|
1162
|
+
/**
|
|
1163
|
+
* 开启扬声器测试
|
|
1164
|
+
*
|
|
1165
|
+
* @param filePath {string} - 测试音频文件路径
|
|
1166
|
+
* @returns {Promise<void>}
|
|
1167
|
+
*/
|
|
1168
|
+
startSpeakerDeviceTest(filePath: string): Promise<number>;
|
|
1169
|
+
/**
|
|
1170
|
+
* 停止扬声器测试
|
|
1171
|
+
*
|
|
1172
|
+
* @returns {Promise<void>}
|
|
1173
|
+
*/
|
|
1174
|
+
stopSpeakerDeviceTest(): Promise<number>;
|
|
1175
|
+
setApplicationPlayVolume(volume: number): Promise<number>;
|
|
1176
|
+
getApplicationPlayVolume(): Promise<number>;
|
|
1177
|
+
setApplicationMuteState(mute: boolean): Promise<number>;
|
|
1178
|
+
getApplicationMuteState(): Promise<boolean>;
|
|
1179
|
+
/**
|
|
1180
|
+
* 设置摄像头采集参数
|
|
1181
|
+
*
|
|
1182
|
+
* @param params {TUICameraCaptureParam} - 摄像头采集参数
|
|
1183
|
+
* @returns {Promise<void>}
|
|
1184
|
+
*/
|
|
1185
|
+
setCameraCaptureParam(params: TUICameraCaptureParam): Promise<void>;
|
|
1186
|
+
/**
|
|
1187
|
+
* 监听事件
|
|
1188
|
+
*
|
|
1189
|
+
* @param event {TUIMediaDeviceEventType} - 事件名称
|
|
1190
|
+
* @param func {(...args: any[]) => void} - 事件回调函数
|
|
1191
|
+
* @param context {object} - 回调函数执行的上下文
|
|
1192
|
+
*/
|
|
1193
|
+
on(event: TUIMediaDeviceEventType, func: (...args: any[]) => void, context?: any): void;
|
|
1194
|
+
/**
|
|
1195
|
+
* 取消事件监听
|
|
1196
|
+
*
|
|
1197
|
+
* @param event {TUIMediaDeviceEventType} - 事件名
|
|
1198
|
+
* @param func {(...args: any[]) => void} - 事件回调函数
|
|
1199
|
+
*/
|
|
1200
|
+
off(event: TUIMediaDeviceEventType, func: (...args: any[]) => void): void;
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
* 混响特效
|
|
1205
|
+
*/
|
|
1206
|
+
declare enum TUIVoiceReverbType {
|
|
1207
|
+
/** 关闭特效 */
|
|
1208
|
+
kVoiceReverbType_0 = 0,
|
|
1209
|
+
/** KTV */
|
|
1210
|
+
kVoiceReverbType_1 = 1,
|
|
1211
|
+
/** 小房间 */
|
|
1212
|
+
kVoiceReverbType_2 = 2,
|
|
1213
|
+
/** 大会堂 */
|
|
1214
|
+
kVoiceReverbType_3 = 3,
|
|
1215
|
+
/** 低沉 */
|
|
1216
|
+
kVoiceReverbType_4 = 4,
|
|
1217
|
+
/** 洪亮 */
|
|
1218
|
+
kVoiceReverbType_5 = 5,
|
|
1219
|
+
/** 金属声 */
|
|
1220
|
+
kVoiceReverbType_6 = 6,
|
|
1221
|
+
/** 磁性 */
|
|
1222
|
+
kVoiceReverbType_7 = 7,
|
|
1223
|
+
/** 空灵 */
|
|
1224
|
+
kVoiceReverbType_8 = 8,
|
|
1225
|
+
/** 录音棚 */
|
|
1226
|
+
kVoiceReverbType_9 = 9,
|
|
1227
|
+
/** 悠扬 */
|
|
1228
|
+
kVoiceReverbType_10 = 10,
|
|
1229
|
+
/** 录音棚2 */
|
|
1230
|
+
kVoiceReverbType_11 = 11
|
|
1231
|
+
}
|
|
1232
|
+
/**
|
|
1233
|
+
* 变声特效
|
|
1234
|
+
*/
|
|
1235
|
+
declare enum TUIVoiceChangerType {
|
|
1236
|
+
/** 关闭 */
|
|
1237
|
+
kVoiceChangerType_0 = 0,
|
|
1238
|
+
/** 熊孩子 */
|
|
1239
|
+
kVoiceChangerType_1 = 1,
|
|
1240
|
+
/** 萝莉 */
|
|
1241
|
+
kVoiceChangerType_2 = 2,
|
|
1242
|
+
/** 大叔 */
|
|
1243
|
+
kVoiceChangerType_3 = 3,
|
|
1244
|
+
/** 重金属 */
|
|
1245
|
+
kVoiceChangerType_4 = 4,
|
|
1246
|
+
/** 感冒 */
|
|
1247
|
+
kVoiceChangerType_5 = 5,
|
|
1248
|
+
/** 外语腔 */
|
|
1249
|
+
kVoiceChangerType_6 = 6,
|
|
1250
|
+
/** 困兽 */
|
|
1251
|
+
kVoiceChangerType_7 = 7,
|
|
1252
|
+
/** 肥宅 */
|
|
1253
|
+
kVoiceChangerType_8 = 8,
|
|
1254
|
+
/** 强电流 */
|
|
1255
|
+
kVoiceChangerType_9 = 9,
|
|
1256
|
+
/** 重机械 */
|
|
1257
|
+
kVoiceChangerType_10 = 10,
|
|
1258
|
+
/** 空灵 */
|
|
1259
|
+
kVoiceChangerType_11 = 11
|
|
1260
|
+
}
|
|
1261
|
+
/**
|
|
1262
|
+
* 背景音乐的播放控制信息
|
|
1263
|
+
*/
|
|
1264
|
+
type TUIAudioMusicParam = {
|
|
1265
|
+
/** 音乐 ID。允许播放多路音乐,因此需要使用 ID 进行标记,用于控制音乐的开始、停止、音量等。 */
|
|
1266
|
+
id: number;
|
|
1267
|
+
/** 音效文件的完整路径或 URL 地址。支持的音频格式包括 MP3、AAC、M4A、WAV。 */
|
|
1268
|
+
path: string;
|
|
1269
|
+
/** 音乐循环播放的次数。取值范围为0 - 任意正整数,默认值:0。0 表示播放音乐一次;1 表示播放音乐两次;以此类推。 */
|
|
1270
|
+
loopCount: number;
|
|
1271
|
+
/** 是否将音乐传到远端。true:音乐在本地播放的同时,远端用户也能听到该音乐;false:主播只能在本地听到该音乐,远端观众听不到。默认值:false。 */
|
|
1272
|
+
publish: boolean;
|
|
1273
|
+
/** 播放的是否为短音乐文件。true:需要重复播放的短音乐文件;false:正常的音乐文件。默认值:false。 */
|
|
1274
|
+
isShortFile: boolean;
|
|
1275
|
+
/** 音乐开始播放时间点,单位:毫秒。 */
|
|
1276
|
+
startTimeMS: number;
|
|
1277
|
+
/** 音乐结束播放时间点,单位毫秒,0表示播放至文件结尾。 */
|
|
1278
|
+
endTimeMS: number;
|
|
1279
|
+
};
|
|
1280
|
+
/**
|
|
1281
|
+
* 背景音乐播放事件监听器类型定义
|
|
1282
|
+
*/
|
|
1283
|
+
type TUIMusicPlayObserver = {
|
|
1284
|
+
/**
|
|
1285
|
+
* 背景音乐开始播放事件
|
|
1286
|
+
* @param {Number} id - 背景音乐 ID
|
|
1287
|
+
* @param {Number} errCode - 错误码。0: 开始播放成功;-4001: 打开文件失败,如音频文件格式不支持,本地音频文件不存在,网络音频文件无法访问等。
|
|
1288
|
+
* @returns {void}
|
|
1289
|
+
*/
|
|
1290
|
+
onStart: (id: number, errCode: number) => void | null;
|
|
1291
|
+
/**
|
|
1292
|
+
* 背景音乐的播放进度事件
|
|
1293
|
+
* @param {Number} id - 背景音乐 ID
|
|
1294
|
+
* @param {Number} curPtsMS - 背景音乐当前播放时间戳
|
|
1295
|
+
* @param {Number} durationMS - 背景音乐时长
|
|
1296
|
+
* @returns {void}
|
|
1297
|
+
*/
|
|
1298
|
+
onPlayProgress: (id: number, curPtsMS: number, durationMS: number) => void | null;
|
|
1299
|
+
/**
|
|
1300
|
+
* 背景音乐播放完毕事件
|
|
1301
|
+
* @param {Number} id - 背景音乐 ID
|
|
1302
|
+
* @param {Number} errCode - 错误码。0: 播放结束;-4002: 解码失败,如音频文件损坏,网络音频文件服务器无法访问等。
|
|
1303
|
+
* @returns {void}
|
|
1304
|
+
*/
|
|
1305
|
+
onComplete: (id: number, errCode: number) => void | null;
|
|
1306
|
+
};
|
|
1307
|
+
/**
|
|
1308
|
+
* 音频特效管理器
|
|
1309
|
+
*
|
|
1310
|
+
* @example
|
|
1311
|
+
* import TUIRoomEngine, {
|
|
1312
|
+
* TUIAudioEffectManager
|
|
1313
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1314
|
+
*
|
|
1315
|
+
* const audioEffectManager: TUIAudioEffectManager = TUIRoomEngine.getAudioEffectManager();
|
|
1316
|
+
*
|
|
1317
|
+
* audioEffectManager.setVoiceReverbType(TUIVoiceReverbType.kVoiceReverbType_3);
|
|
1318
|
+
* audioEffectManager.setVoiceChangerType(TUIVoiceChangerType.kVoiceChangerType_1);
|
|
1319
|
+
*
|
|
1320
|
+
* audioEffectManager.setMusicObserver({
|
|
1321
|
+
* onStart: (id: number, errCode: number)=>{
|
|
1322
|
+
* console.log(`music start play:`, id, errCode);
|
|
1323
|
+
* },
|
|
1324
|
+
* onPlayProgress: (id: number, curPtsMS: number, durationMS: number) => {
|
|
1325
|
+
* console.log(`music play progress:`, id, curPtsMS, durationMS);
|
|
1326
|
+
* },
|
|
1327
|
+
* onComplete: (id: number, errCode: number) => {
|
|
1328
|
+
* console.log(`music complete:`, id, errCode);
|
|
1329
|
+
* },
|
|
1330
|
+
* });
|
|
1331
|
+
* audioEffectManager.startPlayMusic({
|
|
1332
|
+
* id: 1,
|
|
1333
|
+
* path: 'https://web.sdk.qcloud.com/trtc/electron/download/resources/media/bgm/PositiveHappyAdvertising.mp3',
|
|
1334
|
+
* publish: true,
|
|
1335
|
+
* loopCount: 2,
|
|
1336
|
+
* isShortFile: false,
|
|
1337
|
+
* startTimeMS: 0,
|
|
1338
|
+
* endTimeMS: 0,
|
|
1339
|
+
* });
|
|
1340
|
+
*/
|
|
1341
|
+
declare class TUIAudioEffectManager {
|
|
1342
|
+
private static sharedInstance;
|
|
1343
|
+
private static logPrefix;
|
|
1344
|
+
private trtcAudioEffectManager;
|
|
1345
|
+
constructor();
|
|
1346
|
+
static getInstance(): TUIAudioEffectManager;
|
|
1347
|
+
enableVoiceEarMonitor(enable: boolean): void;
|
|
1348
|
+
setVoiceEarMonitorVolume(volume: number): void;
|
|
1349
|
+
/**
|
|
1350
|
+
* 设置人声的混响效果
|
|
1351
|
+
*
|
|
1352
|
+
* @param type {TUIVoiceReverbType} -
|
|
1353
|
+
* @returns {void}
|
|
1354
|
+
*/
|
|
1355
|
+
setVoiceReverbType(type: TUIVoiceReverbType): void;
|
|
1356
|
+
/**
|
|
1357
|
+
* 设置人声的变声特效
|
|
1358
|
+
*
|
|
1359
|
+
* @param type {TUIVoiceChangerType} - 混响特效
|
|
1360
|
+
* @returns {void}
|
|
1361
|
+
*/
|
|
1362
|
+
setVoiceChangerType(type: TUIVoiceChangerType): void;
|
|
1363
|
+
setVoiceCaptureVolume(volume: number): void;
|
|
1364
|
+
setVoicePitch(pitch: number): void;
|
|
1365
|
+
/**
|
|
1366
|
+
* 设置背景音乐的事件回调接口
|
|
1367
|
+
*
|
|
1368
|
+
* 请在播放背景音乐之前使用该接口设置播放事件回调,以便感知背景音乐的播放进度。
|
|
1369
|
+
*
|
|
1370
|
+
* @param observer {TUIMusicPlayObserver} - 背景音乐播放事件监听器
|
|
1371
|
+
* @returns {void}
|
|
1372
|
+
*/
|
|
1373
|
+
setMusicObserver(observer: TUIMusicPlayObserver): void;
|
|
1374
|
+
/**
|
|
1375
|
+
* 开始播放背景音乐
|
|
1376
|
+
* @param param {TUIAudioMusicParam} - 背景音乐参数
|
|
1377
|
+
* @returns {void}
|
|
1378
|
+
*/
|
|
1379
|
+
startPlayMusic(param: TUIAudioMusicParam): void;
|
|
1380
|
+
/**
|
|
1381
|
+
* 停止播放背景音乐
|
|
1382
|
+
* @param id {number} - 背景音乐 ID
|
|
1383
|
+
* @returns {void}
|
|
1384
|
+
*/
|
|
1385
|
+
stopPlayMusic(id: number): void;
|
|
1386
|
+
/**
|
|
1387
|
+
* 暂停播放背景音乐
|
|
1388
|
+
* @param id {number} - 背景音乐 ID
|
|
1389
|
+
* @returns {void}
|
|
1390
|
+
*/
|
|
1391
|
+
pausePlayMusic(id: number): void;
|
|
1392
|
+
/**
|
|
1393
|
+
* 恢复播放背景音乐
|
|
1394
|
+
* @param id {number} - 背景音乐 ID
|
|
1395
|
+
* @returns {void}
|
|
1396
|
+
*/
|
|
1397
|
+
resumePlayMusic(id: number): void;
|
|
1398
|
+
/**
|
|
1399
|
+
* 设置所有背景音乐的本地音量和远端音量的大小
|
|
1400
|
+
*
|
|
1401
|
+
* @param volume {number} - 音量,取值范围 [0, 100],默认值:60。
|
|
1402
|
+
* @returns {void}
|
|
1403
|
+
*/
|
|
1404
|
+
setAllMusicVolume(volume: number): void;
|
|
1405
|
+
/**
|
|
1406
|
+
* 设置某一首背景音乐的远端音量的大小
|
|
1407
|
+
*
|
|
1408
|
+
* @param id {number} - 背景音乐 ID
|
|
1409
|
+
* @param volume {number} - 音量,取值范围 [0, 100],默认值:60。
|
|
1410
|
+
* @returns {void}
|
|
1411
|
+
*/
|
|
1412
|
+
setMusicPublishVolume(id: number, volume: number): void;
|
|
1413
|
+
/**
|
|
1414
|
+
* 设置某一首背景音乐的本地音量的大小
|
|
1415
|
+
*
|
|
1416
|
+
* @param id {number} - 背景音乐 ID
|
|
1417
|
+
* @param volume {number} - 音量,取值范围 [0, 100],默认值:60。
|
|
1418
|
+
* @returns {void}
|
|
1419
|
+
*/
|
|
1420
|
+
setMusicPlayoutVolume(id: number, volume: number): void;
|
|
1421
|
+
setMusicPitch(id: number, pitch: number): void;
|
|
1422
|
+
setMusicSpeedRate(id: number, speedRate: number): void;
|
|
1423
|
+
/**
|
|
1424
|
+
* 获取背景音乐的播放进度(单位:毫秒)
|
|
1425
|
+
* @param id {number} - 背景音乐 ID
|
|
1426
|
+
* @returns {Promise<number>} - 成功返回当前播放时间,单位:毫秒,失败返回 -1。
|
|
1427
|
+
*/
|
|
1428
|
+
getMusicCurrentPosInMS(id: number): Promise<number>;
|
|
1429
|
+
/**
|
|
1430
|
+
* 获取背景音乐的总时长(单位:毫秒)
|
|
1431
|
+
*
|
|
1432
|
+
* @param path {string} - 音乐文件路径
|
|
1433
|
+
* @returns {Promise<number>} 成功返回时长,单位:毫秒,失败返回 -1。
|
|
1434
|
+
*/
|
|
1435
|
+
getMusicDurationInMS(path: string): Promise<number>;
|
|
1436
|
+
/**
|
|
1437
|
+
* 设置背景音乐的播放进度(单位:毫秒)
|
|
1438
|
+
*
|
|
1439
|
+
* 注意:请尽量避免过度频繁地调用该接口,因为该接口可能会再次读写音乐文件,耗时稍高。
|
|
1440
|
+
* 因此,当用户拖拽音乐的播放进度条时,请在用户完成拖拽操作后再调用本接口。
|
|
1441
|
+
* 因为 UI 上的进度条控件往往会以很高的频率反馈用户的拖拽进度,如不做频率限制,会导致较差的用户体验。
|
|
1442
|
+
* @param id {number} - 音乐 ID
|
|
1443
|
+
* @param pts {number} - 单位: 毫秒
|
|
1444
|
+
* @returns {void}
|
|
1445
|
+
*/
|
|
1446
|
+
seekMusicToPosInTime(id: number, pts: number): void;
|
|
1447
|
+
setMusicScratchSpeedRate(id: number, speedRate: number): void;
|
|
1448
|
+
setPreloadObserver(observer: {
|
|
1449
|
+
onLoadProgress: (id: number, progress: number) => void;
|
|
1450
|
+
onLoadError: (id: number, errCode: number) => void;
|
|
1451
|
+
}): void;
|
|
1452
|
+
preloadMusic(param: TUIAudioMusicParam): void;
|
|
1453
|
+
getMusicTrackCount(id: number): Promise<number>;
|
|
1454
|
+
setMusicTrack(id: number, trackIndex: number): void;
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
/**
|
|
1458
|
+
* 媒体源旋转角度
|
|
1459
|
+
*/
|
|
1460
|
+
declare enum TUIMediaRotation {
|
|
1461
|
+
/** 旋转 0 度 */
|
|
1462
|
+
kMediaRotation0 = 0,
|
|
1463
|
+
/** 旋转 90 度 */
|
|
1464
|
+
kMediaRotation90 = 1,
|
|
1465
|
+
/** 旋转 180 度 */
|
|
1466
|
+
kMediaRotation180 = 2,
|
|
1467
|
+
/** 旋转 270 度 */
|
|
1468
|
+
kMediaRotation270 = 3
|
|
1469
|
+
}
|
|
1470
|
+
/**
|
|
1471
|
+
* 媒体源填充模式
|
|
1472
|
+
*
|
|
1473
|
+
* 如果媒体源的尺寸与显示区域尺寸不一致,媒体源显示后可能被拉伸或者周围出现黑边。
|
|
1474
|
+
*/
|
|
1475
|
+
declare enum TUIMediaFillMode {
|
|
1476
|
+
/** 图像铺满显示区域,超出显示视窗的视频部分将被截掉,画面内容可能显示不完整。 */
|
|
1477
|
+
kMediaFillMode_Fill = 0,
|
|
1478
|
+
/** 图像长边填满显示区域,短边区域会被填充黑色,画面内容显示完整。 */
|
|
1479
|
+
kMediaFillMode_Fit = 1
|
|
1480
|
+
}
|
|
1481
|
+
/**
|
|
1482
|
+
* 媒体源镜像模式
|
|
1483
|
+
*/
|
|
1484
|
+
declare enum TUIMediaMirrorType {
|
|
1485
|
+
kMediaMirrorType_Auto = 0,
|
|
1486
|
+
/** 开启镜像 */
|
|
1487
|
+
kMediaMirrorType_Enable = 1,
|
|
1488
|
+
/** 禁止镜像 */
|
|
1489
|
+
kMediaMirrorType_Disable = 2
|
|
1490
|
+
}
|
|
1491
|
+
/**
|
|
1492
|
+
* 视频分辨率
|
|
1493
|
+
*
|
|
1494
|
+
* 此处仅定义了横屏分辨率,如果要使用360 × 640这样的竖屏分辨率,需要同时指定 TUIResolutionMode 为 Portrait。
|
|
1495
|
+
*/
|
|
1496
|
+
declare enum TUIVideoResolution {
|
|
1497
|
+
/** [C] 建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps */
|
|
1498
|
+
kVideoResolution_120_120 = 1,
|
|
1499
|
+
/** [C] 建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps */
|
|
1500
|
+
kVideoResolution_160_160 = 3,
|
|
1501
|
+
/** [C] 建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps */
|
|
1502
|
+
kVideoResolution_270_270 = 5,
|
|
1503
|
+
/** [C] 建议码率(VideoCall)350kbps; 建议码率(LIVE)500kbps */
|
|
1504
|
+
kVideoResolution_480_480 = 7,
|
|
1505
|
+
/** [C] 建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps */
|
|
1506
|
+
kVideoResolution_160_120 = 50,
|
|
1507
|
+
/** [C] 建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps */
|
|
1508
|
+
kVideoResolution_240_180 = 52,
|
|
1509
|
+
/** [C] 建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps */
|
|
1510
|
+
kVideoResolution_280_210 = 54,
|
|
1511
|
+
/** [C] 建议码率(VideoCall)250kbps; 建议码率(LIVE)375kbps */
|
|
1512
|
+
kVideoResolution_320_240 = 56,
|
|
1513
|
+
/** [C] 建议码率(VideoCall)300kbps; 建议码率(LIVE)450kbps */
|
|
1514
|
+
kVideoResolution_400_300 = 58,
|
|
1515
|
+
/** [C] 建议码率(VideoCall)400kbps; 建议码率(LIVE)600kbps */
|
|
1516
|
+
kVideoResolution_480_360 = 60,
|
|
1517
|
+
/** [C] 建议码率(VideoCall)600kbps; 建议码率(LIVE)900kbps */
|
|
1518
|
+
kVideoResolution_640_480 = 62,
|
|
1519
|
+
/** [C] 建议码率(VideoCall)1000kbps; 建议码率(LIVE)1500kbps */
|
|
1520
|
+
kVideoResolution_960_720 = 64,
|
|
1521
|
+
/** [C] 建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps */
|
|
1522
|
+
kVideoResolution_160_90 = 100,
|
|
1523
|
+
/** [C] 建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps */
|
|
1524
|
+
kVideoResolution_256_144 = 102,
|
|
1525
|
+
/** [C] 建议码率(VideoCall)250kbps; 建议码率(LIVE)400kbps */
|
|
1526
|
+
kVideoResolution_320_180 = 104,
|
|
1527
|
+
/** [C] 建议码率(VideoCall)350kbps; 建议码率(LIVE)550kbps */
|
|
1528
|
+
kVideoResolution_480_270 = 106,
|
|
1529
|
+
/** [C] 建议码率(VideoCall)500kbps; 建议码率(LIVE)900kbps */
|
|
1530
|
+
kVideoResolution_640_360 = 108,
|
|
1531
|
+
/** [C] 建议码率(VideoCall)850kbps; 建议码率(LIVE)1300kbps */
|
|
1532
|
+
kVideoResolution_960_540 = 110,
|
|
1533
|
+
/** [C] 建议码率(VideoCall)1200kbps; 建议码率(LIVE)1800kbps */
|
|
1534
|
+
kVideoResolution_1280_720 = 112,
|
|
1535
|
+
/** [C] 建议码率(VideoCall)2000kbps; 建议码率(LIVE)3000kbps */
|
|
1536
|
+
kVideoResolution_1920_1080 = 114
|
|
1537
|
+
}
|
|
1538
|
+
declare enum TUIMultiSourcePluginEvent {
|
|
1539
|
+
onError = "onError"
|
|
1540
|
+
}
|
|
1541
|
+
/**
|
|
1542
|
+
* 媒体源类型
|
|
1543
|
+
*/
|
|
1544
|
+
declare enum TUIMediaSourceType {
|
|
1545
|
+
/** 摄像头 */
|
|
1546
|
+
kCamera = 0,
|
|
1547
|
+
/** 屏幕/窗口 */
|
|
1548
|
+
kScreen = 1,
|
|
1549
|
+
/** 图片 */
|
|
1550
|
+
kImage = 2,
|
|
1551
|
+
kRemoteVideo = 3
|
|
1552
|
+
}
|
|
1553
|
+
/**
|
|
1554
|
+
* 屏幕/窗口数据
|
|
1555
|
+
*/
|
|
1556
|
+
type TUIScreenCaptureSourceInfo = {
|
|
1557
|
+
/** 媒体源类型:屏幕/窗口 */
|
|
1558
|
+
type: TUIMediaSourceType;
|
|
1559
|
+
/** 唯一 ID */
|
|
1560
|
+
sourceId: number;
|
|
1561
|
+
/** 名称 */
|
|
1562
|
+
sourceName: string;
|
|
1563
|
+
/** 是否最小化窗口 */
|
|
1564
|
+
isMinimizeWindow: boolean;
|
|
1565
|
+
/** 是否主屏幕 */
|
|
1566
|
+
isMainScreen: boolean;
|
|
1567
|
+
/** 相对显示屏幕的坐标位置 */
|
|
1568
|
+
rect: TUIRect;
|
|
1569
|
+
};
|
|
1570
|
+
/**
|
|
1571
|
+
* 媒体源数据
|
|
1572
|
+
*/
|
|
1573
|
+
type TUIMediaSource = {
|
|
1574
|
+
/** 媒体源类型 */
|
|
1575
|
+
sourceType: TUIMediaSourceType;
|
|
1576
|
+
/** 媒体源唯一 ID */
|
|
1577
|
+
sourceId: string;
|
|
1578
|
+
/** 显示层级。显示层级高的媒体源会遮挡显示层级底的媒体源,多个媒体源不能拥有相同层级。 */
|
|
1579
|
+
zOrder: number;
|
|
1580
|
+
/** 相对于本地混流布局的坐标位置 */
|
|
1581
|
+
rect: TUIRect;
|
|
1582
|
+
enableGreenScreen?: boolean;
|
|
1583
|
+
/** 是否被旋转,默认:false */
|
|
1584
|
+
isSelected?: boolean;
|
|
1585
|
+
/** 旋转角度 */
|
|
1586
|
+
rotation?: TUIMediaRotation;
|
|
1587
|
+
/** 填充模式 */
|
|
1588
|
+
fillMode?: TUIMediaFillMode;
|
|
1589
|
+
/** 镜像模式 */
|
|
1590
|
+
mirrorType?: TUIMediaMirrorType;
|
|
1591
|
+
};
|
|
1592
|
+
/**
|
|
1593
|
+
* 混流视频编码参数
|
|
1594
|
+
*/
|
|
1595
|
+
type TUIVideoEncParam = {
|
|
1596
|
+
/** 视频分辨率 */
|
|
1597
|
+
videoResolution: TUIVideoResolution;
|
|
1598
|
+
/** 视频横竖屏模式 */
|
|
1599
|
+
resMode: TUIResolutionMode;
|
|
1600
|
+
/** 帧率 */
|
|
1601
|
+
videoFps: number;
|
|
1602
|
+
/** 码率 */
|
|
1603
|
+
videoBitrate: number;
|
|
1604
|
+
/** 最小码率 */
|
|
1605
|
+
minVideoBitrate: number;
|
|
1606
|
+
/** 是否自适应调整码率,默认:true */
|
|
1607
|
+
enableAdjustRes: boolean;
|
|
1608
|
+
};
|
|
1609
|
+
/**
|
|
1610
|
+
* 本地混流配置参数
|
|
1611
|
+
*/
|
|
1612
|
+
type TUILocalMediaTranscodingParams = {
|
|
1613
|
+
/** 媒体源列表 */
|
|
1614
|
+
inputSourceList: TUIMediaSource[] | TRTCLocalMediaTranscodingSource[];
|
|
1615
|
+
/** 混流视频编码参数 */
|
|
1616
|
+
videoEncoderParams: TUIVideoEncParam | TRTCVideoEncParam;
|
|
1617
|
+
/** 混流视频背景色,格式 RGB,默认:0x0 */
|
|
1618
|
+
canvasColor: number;
|
|
1619
|
+
};
|
|
1620
|
+
/**
|
|
1621
|
+
* 本地混流插件类
|
|
1622
|
+
*
|
|
1623
|
+
* 支持将本地的多路视频流合并成一路视频流发送。
|
|
1624
|
+
*
|
|
1625
|
+
* @example
|
|
1626
|
+
* import TUIRoomEngine, {
|
|
1627
|
+
* TUIMediaMixingManager
|
|
1628
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1629
|
+
*
|
|
1630
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1631
|
+
*/
|
|
1632
|
+
declare class TUIMediaMixingManager {
|
|
1633
|
+
private static sharedInstance;
|
|
1634
|
+
private trtcMediaMixingManager;
|
|
1635
|
+
constructor();
|
|
1636
|
+
static getInstance(): TUIMediaMixingManager;
|
|
1637
|
+
/**
|
|
1638
|
+
* 设置本地混流服务进程的程序路径
|
|
1639
|
+
*
|
|
1640
|
+
* 创建实例对象后,必须先调用此方法,其它方法的调用才能生效。
|
|
1641
|
+
*
|
|
1642
|
+
* @param {string} path - 本地混流服务进程的程序路径
|
|
1643
|
+
* @returns {Promise<void>}
|
|
1644
|
+
*
|
|
1645
|
+
* @example
|
|
1646
|
+
* import TUIRoomEngine, {
|
|
1647
|
+
* TUIMediaMixingManager
|
|
1648
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1649
|
+
*
|
|
1650
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1651
|
+
*
|
|
1652
|
+
* async function initMediaServer() {
|
|
1653
|
+
* const isPackaged = location.href.startsWith("file");
|
|
1654
|
+
* const resourcesPath = (globalThis as any).process.resourcesPath;
|
|
1655
|
+
* let mediaServerPath = '';
|
|
1656
|
+
* if (isPackaged) {
|
|
1657
|
+
* mediaServerPath = `${resourcesPath}\\liteav_media_server.exe`;
|
|
1658
|
+
* } else {
|
|
1659
|
+
* const appPath = ''; // Value from Electron main process: app.getAppPath()
|
|
1660
|
+
* mediaServerPath = `${appPath}\\node_modules\\trtc-electron-sdk\\build\\Release\\liteav_media_server.exe`;
|
|
1661
|
+
* }
|
|
1662
|
+
* mediaMixingManager.setMediaServerPath(mediaServerPath);
|
|
1663
|
+
* }
|
|
1664
|
+
*
|
|
1665
|
+
* initMediaServer();
|
|
1666
|
+
*/
|
|
1667
|
+
setMediaServerPath(path: string): Promise<void>;
|
|
1668
|
+
/**
|
|
1669
|
+
* 设置本地混流视频预览窗口及区域
|
|
1670
|
+
* @param {Uint8Array} windowID - 混流视频预览窗口 ID,通过 Electron API BrowserWindow.getNativeWindowHandle() 拿到
|
|
1671
|
+
* @param {TUIRect} rect - 混流视频预览区域位置、大小
|
|
1672
|
+
*
|
|
1673
|
+
* @example
|
|
1674
|
+
* import TUIRoomEngine, {
|
|
1675
|
+
* TUIMediaMixingManager
|
|
1676
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1677
|
+
*
|
|
1678
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1679
|
+
*
|
|
1680
|
+
* // Value from Electron main BrowserWindow.getNativeWindowHandle()
|
|
1681
|
+
* const nativeWindowHandle = new Uint8Array(8);
|
|
1682
|
+
*
|
|
1683
|
+
* const previewDOMNode = document.getElementByID("preview-media-mixing");
|
|
1684
|
+
* const clientRect = previewDOMNode.getBoundingClientRect();
|
|
1685
|
+
* mediaMixingManager.setDisplayParams(window.nativeWindowHandle, {
|
|
1686
|
+
* left: clientRect.left * window.devicePixelRatio, // Notice: window.devicePixelRatio
|
|
1687
|
+
* right: clientRect.right * window.devicePixelRatio, // Notice: window.devicePixelRatio
|
|
1688
|
+
* top: clientRect.top * window.devicePixelRatio, // Notice: window.devicePixelRatio
|
|
1689
|
+
* bottom: clientRect.bottom * window.devicePixelRatio, // Notice: window.devicePixelRatio
|
|
1690
|
+
* });
|
|
1691
|
+
*/
|
|
1692
|
+
setDisplayParams(windowID: Uint8Array, rect: TUIRect): void;
|
|
1693
|
+
/**
|
|
1694
|
+
* 添加多媒体源
|
|
1695
|
+
*
|
|
1696
|
+
* @param {TUIMediaSource} mediaSource - 多媒体源信息
|
|
1697
|
+
* @returns Promise<TUIRect> 返回默认添加位置
|
|
1698
|
+
*
|
|
1699
|
+
* @example
|
|
1700
|
+
* import TUIRoomEngine, {
|
|
1701
|
+
* TUIMediaMixingManager, TUIMediaSource
|
|
1702
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1703
|
+
*
|
|
1704
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1705
|
+
*
|
|
1706
|
+
* const mediaSource:TUIMediaSource = {
|
|
1707
|
+
* sourceType: TUIMediaSourceType.kCamera,
|
|
1708
|
+
* sourceId: '', // camera ID, screen ID, window ID or image path
|
|
1709
|
+
* zOrder: 1, // should be unique among all media sources
|
|
1710
|
+
* rect: {
|
|
1711
|
+
* left: 0,
|
|
1712
|
+
* top: 0,
|
|
1713
|
+
* right: 640,
|
|
1714
|
+
* bottom: 360
|
|
1715
|
+
* },
|
|
1716
|
+
* };
|
|
1717
|
+
* mediaMixingManager.addMediaSource(mediaSource);
|
|
1718
|
+
*/
|
|
1719
|
+
addMediaSource(mediaSource: TUIMediaSource): Promise<TUIRect>;
|
|
1720
|
+
/**
|
|
1721
|
+
* 删除多媒体源
|
|
1722
|
+
*
|
|
1723
|
+
* @param {TUIMediaSource} mediaSource - 多媒体源信息
|
|
1724
|
+
* @returns {Promise<void>}
|
|
1725
|
+
*
|
|
1726
|
+
* @example
|
|
1727
|
+
* import TUIRoomEngine, {
|
|
1728
|
+
* TUIMediaMixingManager, TUIMediaSource
|
|
1729
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1730
|
+
*
|
|
1731
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1732
|
+
*
|
|
1733
|
+
* const mediaSource:TUIMediaSource = {
|
|
1734
|
+
* sourceType: TUIMediaSourceType.kCamera, // required
|
|
1735
|
+
* sourceId: '', // required
|
|
1736
|
+
* zOrder: 1, // any valid value
|
|
1737
|
+
* rect: { // any valid value
|
|
1738
|
+
* left: 0,
|
|
1739
|
+
* top: 0,
|
|
1740
|
+
* right: 640,
|
|
1741
|
+
* bottom: 360
|
|
1742
|
+
* },
|
|
1743
|
+
* };
|
|
1744
|
+
* mediaMixingManager.removeMediaSource(mediaSource);
|
|
1745
|
+
*/
|
|
1746
|
+
removeMediaSource(mediaSource: TUIMediaSource): Promise<void>;
|
|
1747
|
+
/**
|
|
1748
|
+
* 更新多媒体源
|
|
1749
|
+
*
|
|
1750
|
+
* @param {TUIMediaSource} mediaSource - 多媒体源信息
|
|
1751
|
+
* @returns {Promise<void>}
|
|
1752
|
+
*
|
|
1753
|
+
* @example
|
|
1754
|
+
* import TUIRoomEngine, {
|
|
1755
|
+
* TUIMediaMixingManager, TUIMediaSource
|
|
1756
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1757
|
+
*
|
|
1758
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1759
|
+
*
|
|
1760
|
+
* const mediaSource:TUIMediaSource = {
|
|
1761
|
+
* sourceType: TUIMediaSourceType.kCamera, // required
|
|
1762
|
+
* sourceId: '', // required
|
|
1763
|
+
* zOrder: 1, // should be unique among all media sources
|
|
1764
|
+
* rect: { // any valid value
|
|
1765
|
+
* left: 0,
|
|
1766
|
+
* top: 0,
|
|
1767
|
+
* right: 640,
|
|
1768
|
+
* bottom: 360
|
|
1769
|
+
* },
|
|
1770
|
+
* };
|
|
1771
|
+
* mediaMixingManager.updateMediaSource(mediaSource);
|
|
1772
|
+
*/
|
|
1773
|
+
updateMediaSource(mediaSource: TUIMediaSource): Promise<void>;
|
|
1774
|
+
/**
|
|
1775
|
+
* 设置摄像头采集参数
|
|
1776
|
+
*
|
|
1777
|
+
* @param {string} canmeraID - 摄像头 ID
|
|
1778
|
+
* @param {TUICameraCaptureParam} param - 摄像头采集参数
|
|
1779
|
+
* @returns {void}
|
|
1780
|
+
*
|
|
1781
|
+
* @example
|
|
1782
|
+
* import TUIRoomEngine, {
|
|
1783
|
+
* TUIMediaMixingManager, TUICameraCaptureParam
|
|
1784
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1785
|
+
*
|
|
1786
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1787
|
+
*
|
|
1788
|
+
* mediaMixingManager.setCameraCaptureParam('<camera ID>', {
|
|
1789
|
+
* mode: TUICameraCaptureParam.kCameraCaptureManual,
|
|
1790
|
+
* width: 1280,
|
|
1791
|
+
* height: 720,
|
|
1792
|
+
* });
|
|
1793
|
+
*/
|
|
1794
|
+
setCameraCaptureParam(canmeraID: string, param: TUICameraCaptureParam): void;
|
|
1795
|
+
/**
|
|
1796
|
+
* 开始本地混流并推流
|
|
1797
|
+
*
|
|
1798
|
+
* 注意:进房后才能成功推流。
|
|
1799
|
+
* @returns Promise<void>
|
|
1800
|
+
*
|
|
1801
|
+
* @example
|
|
1802
|
+
* import TUIRoomEngine, {
|
|
1803
|
+
* TUIMediaMixingManager
|
|
1804
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1805
|
+
*
|
|
1806
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1807
|
+
*
|
|
1808
|
+
* mediaMixingManager.startPublish();
|
|
1809
|
+
*/
|
|
1810
|
+
startPublish(): Promise<void>;
|
|
1811
|
+
/**
|
|
1812
|
+
* 结束本地混流和推流
|
|
1813
|
+
*
|
|
1814
|
+
* @returns Promise<void>
|
|
1815
|
+
* @example
|
|
1816
|
+
* import TUIRoomEngine, {
|
|
1817
|
+
* TUIMediaMixingManager
|
|
1818
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1819
|
+
*
|
|
1820
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1821
|
+
*
|
|
1822
|
+
* mediaMixingManager.stopPublish();
|
|
1823
|
+
*/
|
|
1824
|
+
stopPublish(): Promise<void>;
|
|
1825
|
+
/**
|
|
1826
|
+
* 修改本地混流参数
|
|
1827
|
+
*
|
|
1828
|
+
* @param {TUILocalMediaTranscodingParams} params - 本地混流参数
|
|
1829
|
+
* @returns Promise<void>
|
|
1830
|
+
*
|
|
1831
|
+
* @example
|
|
1832
|
+
* import TUIRoomEngine, {
|
|
1833
|
+
* TUIMediaMixingManager, TUIResolutionMode, TUIVideoResolution
|
|
1834
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1835
|
+
*
|
|
1836
|
+
* const mediaMixingManager: TUIMediaMixingManager = TUIRoomEngine.getMediaMixingManager();
|
|
1837
|
+
*
|
|
1838
|
+
* mediaMixingManager.updatePublishParams({
|
|
1839
|
+
* inputSourceList: [], // TUIMediaSource[], can be empty
|
|
1840
|
+
* videoEncoderParams: {
|
|
1841
|
+
* videoResolution: TUIVideoResolution.kVideoResolution_1920_1080,
|
|
1842
|
+
* resMode: TUIResolutionMode.kResolutionMode_Landscape,
|
|
1843
|
+
* videoFps: 30,
|
|
1844
|
+
* videoBitrate: 3000,
|
|
1845
|
+
* minVideoBitrate: 2000,
|
|
1846
|
+
* enableAdjustRes: true
|
|
1847
|
+
* },
|
|
1848
|
+
* canvasColor: 0xc6c6c6, // integer number of RGB
|
|
1849
|
+
* });
|
|
1850
|
+
*/
|
|
1851
|
+
updatePublishParams(params: TUILocalMediaTranscodingParams): Promise<void>;
|
|
1852
|
+
}
|
|
1853
|
+
|
|
1854
|
+
/**
|
|
1855
|
+
* 视频缓冲区类型
|
|
1856
|
+
*/
|
|
1857
|
+
declare enum TUIVideoBufferType {
|
|
1858
|
+
/** 未知类型 */
|
|
1859
|
+
kVideoBufferType_Unknown = 0,
|
|
1860
|
+
/** 二进制Buffer类型 */
|
|
1861
|
+
kVideoBufferType_Buffer = 1,
|
|
1862
|
+
/** 纹理类型 */
|
|
1863
|
+
kVideoBufferType_Texture = 3
|
|
1864
|
+
}
|
|
1865
|
+
/**
|
|
1866
|
+
* 视频数据格式
|
|
1867
|
+
*/
|
|
1868
|
+
declare enum TUIVideoPixelFormat {
|
|
1869
|
+
/** 未定义 */
|
|
1870
|
+
kVideoPixelFormat_Unknown = 0,
|
|
1871
|
+
/** I420 */
|
|
1872
|
+
kVideoPixelFormat_I420 = 1,
|
|
1873
|
+
/** OpenGL 2D 纹理 */
|
|
1874
|
+
kVideoPixelFormat_Texture_2D = 2,
|
|
1875
|
+
/** BGRA32 */
|
|
1876
|
+
kVideoPixelFormat_BGRA32 = 3,
|
|
1877
|
+
/** RGBA32 */
|
|
1878
|
+
kVideoPixelFormat_RGBA32 = 5
|
|
1879
|
+
}
|
|
1880
|
+
declare enum TUIVideoEffectEvents {
|
|
1881
|
+
onError = "onError",
|
|
1882
|
+
onNotSupportSegmentation = "onNotSupportSegmentation"
|
|
1883
|
+
}
|
|
1884
|
+
/**
|
|
1885
|
+
* 视频特效插件
|
|
1886
|
+
*/
|
|
1887
|
+
declare class TUIVideoEffectPlugin {
|
|
1888
|
+
private _logPrefix;
|
|
1889
|
+
private _pluginId;
|
|
1890
|
+
private _deviceId;
|
|
1891
|
+
private _trtcVideoEffectPlugin;
|
|
1892
|
+
constructor(pluginId: string, deviceId: string, trtcVideoEffectPlugin: TRTCPlugin);
|
|
1893
|
+
/**
|
|
1894
|
+
* 获取视频特效插件对应摄像头设备 ID
|
|
1895
|
+
*
|
|
1896
|
+
* @returns {string}
|
|
1897
|
+
*/
|
|
1898
|
+
get deviceId(): string;
|
|
1899
|
+
/**
|
|
1900
|
+
* 获取视频特效插件的 ID
|
|
1901
|
+
*
|
|
1902
|
+
* @returns {string}
|
|
1903
|
+
*/
|
|
1904
|
+
get id(): string;
|
|
1905
|
+
/**
|
|
1906
|
+
* 启用或禁用视频特效插件
|
|
1907
|
+
*
|
|
1908
|
+
* @param flag {boolean} - 是否启用
|
|
1909
|
+
* @returns {void}
|
|
1910
|
+
*/
|
|
1911
|
+
enable(flag: boolean): void;
|
|
1912
|
+
/**
|
|
1913
|
+
* 设置视频特效插件参数
|
|
1914
|
+
*
|
|
1915
|
+
* @param param {string} - JSON 字符串,参照会传给视频特效处理的动态库
|
|
1916
|
+
* @returns {void}
|
|
1917
|
+
*
|
|
1918
|
+
* @example
|
|
1919
|
+
* import TUIRoomEngine, {
|
|
1920
|
+
* TUIVideoEffectPluginManager, TUIVideoEffectPlugin, TUIVideoPixelFormat
|
|
1921
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1922
|
+
*
|
|
1923
|
+
* const videoEffectPluginManager: TUIVideoEffectPluginManager = TUIRoomEngine.getVideoEffectPluginManager();
|
|
1924
|
+
*
|
|
1925
|
+
* videoEffectPluginManager.setVideoPluginFormat(TUIVideoPixelFormat.kVideoPixelFormat_I420);
|
|
1926
|
+
*
|
|
1927
|
+
* videoEffectPluginManager.setCallback((pluginId: string, errorCode: number, errorMessage: string) => {
|
|
1928
|
+
* console.log(`plugin event - pluginId : ${pluginId}, errorCode : ${errorCode}, errorMessage : ${errorMessage}`);
|
|
1929
|
+
* });
|
|
1930
|
+
*
|
|
1931
|
+
* const pluginId = `${cameraId}-${new Date().getTime()}`; // ID 可以随意设置,只要唯一、不重复就行
|
|
1932
|
+
* const cameraId = ''; // 摄像头设备 ID,从 TUIDeviceManager.getDevicesList() 获取设备列表信息,包好设备 ID
|
|
1933
|
+
* const plugin: TUIVideoEffectPlugin | null = videoEffectPluginManager.addVideoPlugin({
|
|
1934
|
+
* pluginId: pluginId,
|
|
1935
|
+
* deviceId: cameraId,
|
|
1936
|
+
* path: '', // 需要客户自研的视频数据预处理库文件路径
|
|
1937
|
+
* });
|
|
1938
|
+
*
|
|
1939
|
+
* if (plugin) {
|
|
1940
|
+
* plugin.enable(true);
|
|
1941
|
+
* plugin.setParameter('{}'); // JSON string
|
|
1942
|
+
* }
|
|
1943
|
+
*/
|
|
1944
|
+
setParameter(param: string): void;
|
|
1945
|
+
}
|
|
1946
|
+
/**
|
|
1947
|
+
* 视频特效插件管理器
|
|
1948
|
+
*/
|
|
1949
|
+
declare class TUIVideoEffectPluginManager {
|
|
1950
|
+
private static sharedInstance;
|
|
1951
|
+
private static logPrefix;
|
|
1952
|
+
private trtcPluginManager;
|
|
1953
|
+
constructor();
|
|
1954
|
+
static getInstance(): TUIVideoEffectPluginManager;
|
|
1955
|
+
/**
|
|
1956
|
+
* 设置视频特效插件基础参数
|
|
1957
|
+
*
|
|
1958
|
+
* @param pixelFormat {TUIVideoPixelFormat} - 视频数据格式
|
|
1959
|
+
* @param bufferType {TUIVideoBufferType} - 视频缓冲区类型
|
|
1960
|
+
* @returns {void}
|
|
1961
|
+
*
|
|
1962
|
+
* @example
|
|
1963
|
+
* import TUIRoomEngine, {
|
|
1964
|
+
* TUIVideoEffectPluginManager, TUIVideoPixelFormat
|
|
1965
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1966
|
+
*
|
|
1967
|
+
* const videoEffectPluginManager: TUIVideoEffectPluginManager = TUIRoomEngine.getVideoEffectPluginManager();
|
|
1968
|
+
*
|
|
1969
|
+
* videoEffectPluginManager.setVideoPluginFormat(TUIVideoPixelFormat.kVideoPixelFormat_I420);
|
|
1970
|
+
*/
|
|
1971
|
+
setVideoPluginFormat(pixelFormat: TUIVideoPixelFormat, bufferType?: TUIVideoBufferType): void;
|
|
1972
|
+
/**
|
|
1973
|
+
* 添加视频特效插件
|
|
1974
|
+
*
|
|
1975
|
+
* @param options {Record<string, any>} - 视频特效插件参数
|
|
1976
|
+
* @param options.pluginId {string} - 视频特效插件 ID
|
|
1977
|
+
* @param options.deviceId {string} - 摄像头设备 ID
|
|
1978
|
+
* @param options.path {string} - 视频特效插件动态库路径,Windows 平台下为 dll 文件,Mac 平台下为 dylib 文件
|
|
1979
|
+
* @returns {TUIVideoEffectPlugin|null}
|
|
1980
|
+
*
|
|
1981
|
+
* @example
|
|
1982
|
+
* import TUIRoomEngine, {
|
|
1983
|
+
* TUIVideoEffectPluginManager, TUIVideoPixelFormat
|
|
1984
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
1985
|
+
*
|
|
1986
|
+
* const videoEffectPluginManager: TUIVideoEffectPluginManager = TUIRoomEngine.getVideoEffectPluginManager();
|
|
1987
|
+
*
|
|
1988
|
+
* videoEffectPluginManager.setVideoPluginFormat(TUIVideoPixelFormat.kVideoPixelFormat_I420);
|
|
1989
|
+
*
|
|
1990
|
+
* videoEffectPluginManager.setCallback((pluginId: string, errorCode: number, errorMessage: string) => {
|
|
1991
|
+
* console.log(`plugin event, pluginId : ${pluginId}, errorCode : ${errorCode}, errorMessage : ${errorMessage}`);
|
|
1992
|
+
* });
|
|
1993
|
+
*
|
|
1994
|
+
* const pluginId = `${cameraId}-${new Date().getTime()}`; // ID 可以随意设置,只要唯一、不重复就行
|
|
1995
|
+
* const cameraId = ''; // 摄像头设备 ID,从 TUIDeviceManager.getDevicesList() 获取设备列表信息,包好设备 ID
|
|
1996
|
+
* const plugin: TUIVideoEffectPlugin | null = videoEffectPluginManager.addVideoPlugin({
|
|
1997
|
+
* pluginId: pluginId,
|
|
1998
|
+
* deviceId: cameraId,
|
|
1999
|
+
* path: '', // 需要客户自研的视频数据预处理库文件路径
|
|
2000
|
+
* });
|
|
2001
|
+
*
|
|
2002
|
+
* if (plugin) {
|
|
2003
|
+
* plugin.enable(true);
|
|
2004
|
+
* plugin.setParameter('{}'); // JSON string
|
|
2005
|
+
* }
|
|
2006
|
+
*/
|
|
2007
|
+
addVideoPlugin(options: {
|
|
2008
|
+
pluginId: string;
|
|
2009
|
+
deviceId: string;
|
|
2010
|
+
path: string;
|
|
2011
|
+
}): TUIVideoEffectPlugin | null;
|
|
2012
|
+
/**
|
|
2013
|
+
* 删除视频特效插件
|
|
2014
|
+
*
|
|
2015
|
+
* @param pluginId {string} - 插件 ID
|
|
2016
|
+
* @param deviceId {string} - 摄像头设备 ID
|
|
2017
|
+
* @returns {void}
|
|
2018
|
+
*
|
|
2019
|
+
* @example
|
|
2020
|
+
* import TUIRoomEngine, {
|
|
2021
|
+
* TUIVideoEffectPluginManager, TUIVideoEffectPlugin, TUIVideoPixelFormat
|
|
2022
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
2023
|
+
*
|
|
2024
|
+
* const videoEffectPluginManager: TUIVideoEffectPluginManager = TUIRoomEngine.getVideoEffectPluginManager();
|
|
2025
|
+
*
|
|
2026
|
+
* const plugin: TUIVideoEffectPlugin;
|
|
2027
|
+
*
|
|
2028
|
+
* if (plugin) {
|
|
2029
|
+
* videoEffectPluginManager.removeVideoPlugin(plugin.id, plugin.deviceId);
|
|
2030
|
+
* }
|
|
2031
|
+
*/
|
|
2032
|
+
removeVideoPlugin(pluginId: string, deviceId: string): void;
|
|
2033
|
+
/**
|
|
2034
|
+
* 设置视频特效插件回调函数
|
|
2035
|
+
*
|
|
2036
|
+
* @param callback {(pluginId: string, errorCode: number, errorMessage: string) => void} - 回调函数
|
|
2037
|
+
* - pluginId - 插件ID
|
|
2038
|
+
* - errorCode - 错误码。0、-1、-2、-3、-4、-5 是 SDK 内部定义错误码,其它错误码是插件自定义错误码。
|
|
2039
|
+
* 注意:错误码:-1000 到 1000 是 SDK 预留错误码,用户自定义插件中,请使用这个范围以外的错误码。
|
|
2040
|
+
* - 0 表示 `addVideoPlugin` 成功
|
|
2041
|
+
* - -1 插件库错误
|
|
2042
|
+
* - -2 插件库缺少插件创建函数
|
|
2043
|
+
* - -3 创建函数执行失败
|
|
2044
|
+
* - -4 插件初始化函数执行失败
|
|
2045
|
+
* - -5 插件加载资源函数执行失败
|
|
2046
|
+
* - errorMessage - 错误信息
|
|
2047
|
+
* @returns {void}
|
|
2048
|
+
*
|
|
2049
|
+
* @example
|
|
2050
|
+
* import TUIRoomEngine, {
|
|
2051
|
+
* TUIVideoEffectPluginManager
|
|
2052
|
+
* } from '@tencentcloud/tuiroom-engine-electron';
|
|
2053
|
+
*
|
|
2054
|
+
* const videoEffectPluginManager: TUIVideoEffectPluginManager = TUIRoomEngine.getVideoEffectPluginManager();
|
|
2055
|
+
*
|
|
2056
|
+
* videoEffectPluginManager.setCallback((pluginId: string, errorCode: number, errorMessage: string) => {
|
|
2057
|
+
* console.log(`plugin event, pluginId : ${pluginId}, errorCode : ${errorCode}, errorMessage : ${errorMessage}`);
|
|
2058
|
+
* });
|
|
2059
|
+
*/
|
|
2060
|
+
setCallback(callback: (pluginId: string, errorCode: number, errorMessage: string) => void): void;
|
|
2061
|
+
}
|
|
2062
|
+
|
|
958
2063
|
/**
|
|
959
2064
|
* TUIRoomEngine 提供了音视频房间的能力
|
|
960
2065
|
*
|
|
@@ -2285,6 +3390,10 @@ declare class TUIRoomEngine {
|
|
|
2285
3390
|
*/
|
|
2286
3391
|
static callExperimentalAPI(jsonStr: string): Promise<void>;
|
|
2287
3392
|
private static handleSetFramework;
|
|
3393
|
+
static getDeviceManager(): TUIDeviceManager;
|
|
3394
|
+
static getAudioEffectManager(): TUIAudioEffectManager;
|
|
3395
|
+
static getMediaMixingManager(): TUIMediaMixingManager;
|
|
3396
|
+
static getVideoEffectPluginManager(): TUIVideoEffectPluginManager;
|
|
2288
3397
|
}
|
|
2289
3398
|
|
|
2290
|
-
export { TRTCRole, TUIAudioQuality, TUIAudioRoute, TUICaptureSourceType, TUIChangeReason, type TUIDeviceInfo, TUIErrorCode, TUIKickedOutOfRoomReason, type TUILoginUserInfo, TUIMediaDevice, TUIMediaDeviceState, TUIMediaDeviceType, type TUIMessage, type TUINetwork, TUINetworkQuality, type TUIRequest, TUIRequestAction, type TUIRequestCallback, TUIRequestCallbackType, TUIResolutionMode, TUIRole, TUIRoomDeviceManager, TUIRoomDeviceMangerEvents, TUIRoomDismissedReason, TUIRoomEvents, type TUIRoomInfo, TUIRoomType, type TUISeatInfo, type TUISeatLockParams, TUISeatMode, TUISpeechMode, type TUIUserInfo, type TUIVideoEncoderParams, TUIVideoQuality, TUIVideoStreamType, TUIRoomEngine as default };
|
|
3399
|
+
export { TRTCRole, TUIAudioEffectManager, type TUIAudioMusicParam, TUIAudioQuality, TUIAudioRoute, TUICameraCaptureMode, type TUICameraCaptureParam, TUICaptureSourceType, TUIChangeReason, type TUIDeviceInfo, TUIDeviceManager, TUIErrorCode, TUIKickedOutOfRoomReason, type TUILocalMediaTranscodingParams, type TUILoginUserInfo, TUIMediaDevice, TUIMediaDeviceEventType, TUIMediaDeviceState, TUIMediaDeviceType, TUIMediaFillMode, TUIMediaMirrorType, TUIMediaMixingManager, TUIMediaRotation, type TUIMediaSource, TUIMediaSourceType, type TUIMessage, TUIMultiSourcePluginEvent, type TUIMusicPlayObserver, type TUINetwork, TUINetworkQuality, type TUIRect, type TUIRequest, TUIRequestAction, type TUIRequestCallback, TUIRequestCallbackType, TUIResolutionMode, TUIRole, TUIRoomDeviceManager, TUIRoomDeviceMangerEvents, TUIRoomDismissedReason, TUIRoomEvents, type TUIRoomInfo, TUIRoomType, type TUIScreenCaptureSourceInfo, type TUISeatInfo, type TUISeatLockParams, TUISeatMode, TUISpeechMode, type TUIUserInfo, TUIVideoBufferType, TUIVideoEffectEvents, TUIVideoEffectPlugin, TUIVideoEffectPluginManager, type TUIVideoEncParam, type TUIVideoEncoderParams, TUIVideoPixelFormat, TUIVideoQuality, TUIVideoResolution, TUIVideoStreamType, TUIVoiceChangerType, TUIVoiceReverbType, TUIRoomEngine as default };
|